Eloquent/Laravel:如何获取updateOrCreate()的最后一次插入/更新ID /实例?

Bla*_*bam 6 php upsert laravel eloquent laravel-5.5

标题大多是不言自明的.Eloquent有一个叫做的方法

updateOrCreate()

记录在这里:https://laravel.com/docs/5.5/eloquent#other-creation-methods

在某些情况下,这非常有用.但是在执行之后,updateOrCreate()我需要更新/创建的对象或其主键或其ID.

当然,我可以做,MyModel::where(...)->first()并再次提供所有这些数据,但这是笨拙的,可能是一些昂贵的要求.

但是updateOrCreate()只返回truefalse.

有任何想法吗?

Ale*_*nin 12

该方法将返回已创建或更新的对象的ID,因此只需执行以下操作:

$object = Model::updateOrCreate(['name' => 'John'], ['age' => 25]);

$id = $object->id;
Run Code Online (Sandbox Code Playgroud)

  • 其实你是对的,好像我有一个自定义功能,不要感谢. (2认同)