Eloquent / Laravel:如何获取 updateOrCreate() 的最后 insert/update ID/instance?
Eloquent / Laravel: How to get last insert/update ID/instance of updateOrCreate()?
标题大多是self-explanatory。 Eloquent 有一个方法叫做
updateOrCreate()
记录在此处:https://laravel.com/docs/5.5/eloquent#other-creation-methods
在某些情况下这真的很有用。但是,在执行 updateOrCreate()
之后,我需要 updated/created object 或其主键或其 ID。
当然我可以 MyModel::where(...)->first()
并再次提供所有这些数据,但这很笨拙并且可能是一些昂贵的请求。
然而 updateOrCreate()
仅 returns true 或 false.
有什么想法吗?
查询最后一个
$lastRecord = MyModel::last();
或者
$lastRecord = MyModel::orderBy('id', 'DESC')->first();
该方法将 return 创建或更新对象的 ID,所以只需这样做:
$object = Model::updateOrCreate(['name' => 'John'], ['age' => 25]);
$id = $object->id;
标题大多是self-explanatory。 Eloquent 有一个方法叫做
updateOrCreate()
记录在此处:https://laravel.com/docs/5.5/eloquent#other-creation-methods
在某些情况下这真的很有用。但是,在执行 updateOrCreate()
之后,我需要 updated/created object 或其主键或其 ID。
当然我可以 MyModel::where(...)->first()
并再次提供所有这些数据,但这很笨拙并且可能是一些昂贵的请求。
然而 updateOrCreate()
仅 returns true 或 false.
有什么想法吗?
查询最后一个
$lastRecord = MyModel::last();
或者
$lastRecord = MyModel::orderBy('id', 'DESC')->first();
该方法将 return 创建或更新对象的 ID,所以只需这样做:
$object = Model::updateOrCreate(['name' => 'John'], ['age' => 25]);
$id = $object->id;