如何在 Eloquent ORM laravel 中获取最后一个插入 ID
我正在使用Laravel 中的 Eloquent ORM"执行数据库操作.我只想取数据库中的最后一个插入 id(不是最大 id).
I am performing a database operation with "Eloquent ORM in Laravel". I just want to take the last insert id (not the maximum id) in the database.
我在 Laravel Eloquent ORM 中搜索以获取最后一个插入 id,我得到了以下链接 (Laravel,使用 Eloquent 获取最后一个插入 id) 是指从以下函数$data->save()
"中获取最后一个插入 id.
I searched to get last insert id in laravel Eloquent ORM, I got following link (Laravel, get last insert id using Eloquent) that is refer to get last insert id from following function "$data->save()
".
但我需要得到
"Model::create($data)
";
我的查询:
GeneralSettingModel::create($GeneralData);
User::create($loginuserdata);
如何获取最后插入的 id?
How can I retrieve the last inserted id?
推荐答案
如文档所说:插入,更新,删除
"您也可以使用 create 方法将新模型保存在单个线.插入的模型实例将从方法.但是,在此之前,您需要指定一个模型上的可填充或受保护的属性,就像所有 Eloquent 模型一样防止大规模分配.
"You may also use the create method to save a new model in a single line. The inserted model instance will be returned to you from the method. However, before doing so, you will need to specify either a fillable or guarded attribute on the model, as all Eloquent models protect against mass-assignment.
保存或创建使用自动递增 ID 的新模型后,您可以通过访问对象的 id 属性来检索 ID:"
$insertedId = $user->id;
所以在您的示例中:
$user = User::create($loginuserdata);
$insertedId = $user->id;
然后在 table2 上它将会是
then on table2 it is going to be
$input['table2_id'] = $insertedId;
table2::create($input);
相关文章