Laravel 4 - Rückgabe der id des aktuellen einfügen
Ich habe die folgende Abfrage
public static function createConversation( $toUserId )
{
$now = date('Y-m-d H:i:s');
$currentId = Auth::user()->id;
$results = DB::table('pm_conversations')->insert(
array( 'user_one' => $currentId, 'user_two' => $toUserId, 'ip' => Request::getClientIp(), 'time' => $now )
);
return $results;
}
Wie würde ich zurückgeben, die id der Zeile einfach eingefügt?
Cheers,
- DB::getPdo()->lastInsertId()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt das zu tun, ein raw-query, warum nicht ein Modell erstellen...
Nennen es Unterhaltung, oder was auch immer...
Und dann kann man nur tun....
Wird wieder eine id...
Oder wenn Sie mit Laravel 4, können Sie die insertGetId Methode...In Laravel 3 seine insert_get_id() ich glaube,
Diese Methode erfordert, dass die id der Tabelle, werden auto-increment, so watch out für Sie, dass...
Die Letzte Methode ist, dass man einfach nur wieder das Letzte eingefügte mysql-Objekt....
Wie so...
Also, wenn Sie wählen, dass die Letzte Straße...
Es gehen...
Ich würde persönlich wählen Sie die erste Methode, die Schaffung eines tatsächlichen Modells. So können Sie sogar Objekte von dem Objekt in Frage.
Dann, statt der Schaffung eines Modells und nur noch speichern()....Sie calll YourModel::create() und die Rückgabe der id des neuesten Modells Erstellung
Können Sie
DB::getPdo()->lastInsertId()
.Über die Eloquenten, die Sie tun können:
Den Weg machte ich es Arbeit war, lief ich eine insert-Anweisung, dann habe ich wieder das eingefügte Zeilen-ID (Diese wird von einem self-learning-Projekt für die Rechnungslegung):