Laravel-5在firstOrCreate()之后获取最后一个插入的id

时间:2015-06-26 13:15:39

标签: php laravel laravel-5

我试图在firstOrCreate()调用后获取数据库中最后插入的ID。我复制了下面的代码:

$booking->firstOrCreate(array_slice($reserve->whereId($payment->reserved_place_id)->first()->toArray(), 0, 24))->save();

如何插入最后一个ID?

我已经查看了其他Laravel请求获取最后一个插入ID但我相信这个实例是不同的,因为他们没有使用firstOrCreate()。

提前致谢。

2 个答案:

答案 0 :(得分:6)

firstOrCreate()方法返回Model。因此,您只需将其保存到某个变量,然后获取模型的ID。

答案 1 :(得分:1)

// Retrieve the flight by the attributes, or create it if it doesn't exist...
$flight = App\Flight::firstOrCreate(['name' => 'Flight 10']);

始终返回Laravel documents中所述的模型:

  

您可以使用另外两种方法通过批量分配属性来创建模型:firstOrCreate和firstOrNew。 firstOrCreate方法将尝试使用给定的列/值对定位数据库记录。如果在数据库中找不到该模型,则将插入带有给定属性的记录。

$flight->id; //returns the last inserted id or the id of the already created document