2016-08-01 10 views
0

Ich benutze Laravel 5.2 und ich brauche die ID des neu erstellten Objekts in der gleichen Funktion in einem Controller, um ein anderes Objekt mit diesem Attribut zu erstellen.Laravel, ID vom neu erstellten Objekt

Dies ist die Funktion in der Steuerung:

public function store(Request $request) 
    { 
     Movie::create([ 
      'usuario_id' => $request['usuario_id'], 
      'asignatura_id' => $request['asignatura_id'], 
      'name' => $request['name'], 
      'visit' => $request['visit'], 
      'language' => $request['language'], 
     ]); 

     Subtitle::create([ 
      'url' => $request['subtitle'], 
      ]); 
     return "OK"; 
    } 

ich die ID dieses Films brauche einen neuen Untertitel zu erstellen, da die ID ein Fremdschlüssel in dem Untertitel ist. Danke für die Antworten.

+0

'$ movie = Film :: create (...); echo $ movie-> id; ' – ceejayoz

+2

Mögliches Duplikat von [Laravel, letzte Einfüge-ID mit Eloquent erhalten] (http://stackoverflow.com/questions/21084833/laravel-get-last-inserts-id-using-eloquent) – ceejayoz

Antwort

0

Sie können die Id erhalten, indem Sie das erstellte Objekt einer neuen Variablen zuweisen.

public function store(Request $request) 
{ 
    $movie = Movie::create([ 
      'usuario_id' => $request['usuario_id'], 
      'asignatura_id' => $request['asignatura_id'], 
      'name' => $request['name'], 
      'visit' => $request['visit'], 
      'language' => $request['language'] 
    ]); 

    Subtitle::create(['url' => $request['subtitle']]); 

    $movieId = $movie->id; //replace `id' with your real ColumnName. Same way you can retrieve all other Columns 
    return "OK"; 
} 
+0

Das hat funktioniert, vielen Dank. – Bullgod

+0

Willkommen Pal !! Freut mich, dass geholfen hat. – jonju