当前位置: 首页 > 知识库问答 >
问题:

如何在雄辩的ORM laravel最后插入id

郎刚捷
2023-03-14

我正在执行数据库操作与"雄辩ORM在Laravel"。我只想取数据库中最后一个插入id(不是最大id)。

我在laravel Eloquent ORM中搜索到最后一个插入标识,我得到了以下链接(Laravel,使用Eloquent获取最后一个插入标识),即从以下函数获取最后一个插入标识$data-

但我需要得到

Model::create($data)”;

我的问题是:

GeneralSettingModel::create($GeneralData);

User::create($loginuserdata);

如何检索最后插入的id?


共有3个答案

张子墨
2023-03-14

您可以像这样将数据包装在插入GetId()方法中

$id = DB::table('table')->insertGetId( $data );

在本例中,$data数组看起来像这样

$data = [ 'field' => 'data' , 'field' => 'data' ];

如果您使用的是DB façade,您可以将lastInsertID()方法附加到查询中。

$lastInsertedID = DB::table('table')->insert( $data )->lastInsertId();
秦诚
2023-03-14

****为了拉威尔****

$user = new User();

$user->name = 'John';

$user->save();

//Getting Last inserted id

$insertedId = $user->id;
欧阳何平
2023-03-14

就像文档说的:插入,更新,删除

“您也可以使用create方法将新模型保存在一行中。插入的模型实例将从该方法返回给您。但是,在执行此操作之前,您需要在模型上指定可填充或保护属性,因为所有有说服力的模型都可以防止批量分配。”。

保存或创建使用自动递增ID的新模型后,您可以通过访问对象的id属性来检索ID:"

$insertedId = $user->id;

所以在你的样本中:

$user = User::create($loginuserdata);
$insertedId = $user->id;

然后在第二张桌子上

$input['table2_id'] = $insertedId;
table2::create($input);
 类似资料:
  • 我插入批量插入laravel 5像这样: 知道如何获取最后一个插入的id吗?

  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?

  • 如何使用laravel雄辩的ORM关系在多个表中发出一个插入请求。即 表1:用户 id 姓名 电子邮件 表2:员额 id 表3:图像 id 用户id 邮政id 图像名称 关系 表id引用了其他两个表中的 表与

  • 问题内容: 我们如何使用雄辩的ORM在Laravel中执行批量数据库插入? 问题答案: 您可以使用。 例如:

  • 如何使用雄辩的ORM在Laravel中执行批量数据库插入? 我想在拉威尔完成这一点:https://stackoverflow.com/a/10615821/600516 但是我得到了以下错误。 SQLSTATE[HY093]:无效参数编号:混合命名参数和位置参数。