我试图在firstOrCreate()调用后获取数据库中最后插入的ID。我复制了下面的代码:
$booking->firstOrCreate(array_slice($reserve->whereId($payment->reserved_place_id)->first()->toArray(), 0, 24))->save();
如何插入最后一个ID?
我已经查看了其他Laravel请求获取最后一个插入ID但我相信这个实例是不同的,因为他们没有使用firstOrCreate()。
提前致谢。
答案 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