2016-08-04 10 views
0

Ich habe 2 Tabellen.Wie man user_id in eine andere Tabelle eingibt (Laravel 5.2)

  1. users (id, name, username, email, password, admin, remember_token)
  2. dosen (iddosen, user_id, namadosen, birthdate, address)

Wie einfügen user_id und namadosen gleichen wie in Tabelle users?

Meine Methode:

public function store(CreateDosenRequest $request) 
{ 
    $user = User::create([ 
     'name' => $request->input('name'), 
     'username' => $request->input('username'), 
     'email' => $request->input('email'), 
     'password' => bcrypt($request->input['password']), 
     'admin' => $request->input('admin') 
]); 

     $dosen = Dosen::create([ 
     'iddosen' => $request->input('iddosen'), 
     'name' => $request->input('namadosen'), 
     'user_id' => $user->id, 
     'address' => $request->input('address'), 
     'birthdate' => $request->input('birthdate'), 

]); 


    return redirect('admin')->with('message', 'Success!');    
} 

folgenden Code funktioniert nicht

'user_id' => $user->id, 
+0

Haben Sie den Benutzer beim Erstellen überprüft, ist das Einfügen erfolgreich? Die 'create' Methode funktioniert nur mit massenzuweisbaren Attributen - [Docs] (https://laravel.com/docs/5.2/eloquent). – haitran

+0

@haitran es funktioniert. aber user_id und namadosen in der Tabelle Dosen ist null. – Ezra

+2

Ist user_id ein füllbares Feld im Dosen-Modell? –

Antwort

0

Gerade diese Beantwortung für Konsistenz willen.

Wie in den Kommentaren angegeben, war das Problem, dass user_id wurde nicht als $fillable Feld innerhalb der Dosen Modell angegeben.

Das Hinzufügen von user_id zum Array $fillable löste das Problem für OP.

Verwandte Themen