2016-07-24 9 views
0

Ich habe drei Tabellen/Modelle einzufügen: Benutzer, Mitarbeiter und employee_disability.Ist es möglich, Aufzeichnung durch Kettenfremdschlüsselbeziehung in Laravel 5.2

  1. Mitarbeiter hat Fremdschlüssel User_id.
  2. employee_disability enthalten emp_id Fremdschlüssel.

Gibt es eine Möglichkeit, die folgende Aktion auszuführen:

$user->employee()->empdisability()->create(['name'=>$name,'percent'=>$percent]); 

Jede Hilfe sehr geschätzt wird. Vielen Dank im Voraus.

MODELS:

class user extends Authenticatable{ 
    public function employees(){ 
     return $this->hasMany('App\Models\employee','user_id'); 
    } 
} 

class employee extends Model{ 
    public function user(){ 
     return $this->belongsTo('App\Models\user','user_id'); 
    } 

    public function empdisability(){ 
     return $this->hasMany('App\Models\emp_disability','emp_id'); 
    }   
} 

class emp_disability extends Model{ 
    public function employee(){ 
     return $this->belongsTo('App\Models\employee','emp_id'); 
    } 
} 

CONTROLLER

public function storeDisability(Request $request){ 
    $user=Auth::user(); 
    $name=$request->name; $percent=$request->percent; 
    $user->employee()->empdisability()- >create(['name'=>$name,'percent'=>$percent]); 
} 
+0

Können Sie mir bitte zeigen Sie Ihre Migration und Controller arbeiten, bemerken. – Francisunoxx

Antwort

0

$user->employee() gibt den Query Builder für den Mitarbeiter Beziehung, aber was Sie brauchen, ist die Instanz.

Dies sollte den Mangel an Klammern auf employee

$user->employee->empdisability()->create(['name'=>$name,'percent'=>$percent]); 
+0

Werde dies ausprobieren und Sie wissen lassen und vielen Dank für Ihre Mühe. – jonju

+0

@jonju Wie ist es gelaufen? – Kaspars