407 Stimmen

Holen Sie sich die zuletzt eingefügte ID mit Laravel Eloquent

Derzeit verwende ich den folgenden Code, um Daten in eine Tabelle einzufügen:

nombre = $post['name'];
    $data->direccion = $post['address'];
    $data->telefono = $post['phone'];
    $data->email = $post['email'];
    $data->giro = $post['type'];
    $data->fecha_registro = date("Y-m-d H:i:s");
    $data->fecha_modificacion = date("Y-m-d H:i:s");

    if ($data->save()) {
        return Response::json(array('success' => true), 200);
    }
}

Ich möchte die zuletzt eingefügte ID zurückgeben, weiß aber nicht, wie ich sie bekommen soll.

Mit freundlichen Grüßen!

0voto

Verwendung des Eloquent-Modells

$user = new Bericht();        
$user->email= 'johndoe@example.com';  
$user->save();
$lastId = $user->id;

Verwendung des Abfrage-Builders

$lastId = DB::table('berichte')->insertGetId(['email' => 'johndoe@example.com']);

0voto

sabuz Punkte 819

Nach dem Speichern von $data->save(). werden alle Daten innerhalb von $data gespeichert. Da dies ein Objekt ist und die aktuelle Zeile kürzlich innerhalb von $data gespeichert wurde. wird die letzte insertId innerhalb von $data->id gefunden.

Der Antwortcode wird sein:

return Response::json(array('success' => true, 'last_insert_id' => $data->id), 200);

0voto

infomasud Punkte 1025

Sie können die zuletzt eingefügte ID mit demselben Objekt erhalten, das Sie zur Aufruf des Speichermethoden verwenden;

$data->save();
$inserted_id = $data->id;

Sie können also einfach schreiben:

if ($data->save()) {
    return Response::json(array('success' => true,'inserted_id'=>$data->id), 200);
}

-1voto

Karthik Punkte 5121

Verwendung des Eloquent-Modells

use App\Company;

public function saveDetailsCompany(Request $request)
{

$createcompany=Company::create(['nombre'=>$request->input('name'),'direccion'=>$request->input('address'),'telefono'=>$request->input('phone'),'email'=>$request->input('emaile'),'giro'=>$request->input('type')]);

// ID der zuletzt eingefügten Zeile

echo $createcompany->id;

}

Verwendung des Abfrage-Erstellungsprogramms

$createcompany=DB::table('company')->create(['nombre'=>$request->input('name'),'direccion'=>$request->input('address'),'telefono'=>$request->input('phone'),'email'=>$request->input('emaile'),'giro'=>$request->input('type')]);

echo $createcompany->id;

Weitere Methoden zum Abrufen der ID der zuletzt eingefügten Zeile in Laravel: http://phpnotebook.com/95-laravel/127-3-methods-to-get-last-inserted-row-id-in-laravel

-1voto

public function store( UserStoreRequest $request ) {
    $input = $request->all();
    $user = User::create($input);
    $userId=$user->id 
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X