新创建的多条记录的返回模型

Posted

技术标签:

【中文标题】新创建的多条记录的返回模型【英文标题】:Return Model of Newly created Multiple records 【发布时间】:2021-11-13 19:02:11 【问题描述】:

我需要获取新创建记录的模型

$data = [['name' => 'john'], ['name' => 'Doe']];
$result = Model::insert($data);

但是当我检查 $result 变量时,它是布尔值。

如何获取新创建的记录?

【问题讨论】:

这能回答你的问题吗? Return model with laravel when it was created 【参考方案1】:

您可以使用 create 代替 insert,例如,

$data = [['name' => 'john'], ['name' => 'Doe']];
$result = Model::insert($data);//instead of this!
$result = Model::create($data);// use this,

那么 $result 关键字将返回最后创建的数据。 如果你正在使用, $result = $model->save(); 方法,你必须返回 $model 变量。不应该返回 $result,因为它只会给你布尔值。

【讨论】:

【参考方案2】:

使用fresh() 解决了我的问题

$data = [['name' => 'john'], ['name' => 'Doe']];
$result = Model::create($data);
$data = $result->fresh();

【讨论】:

以上是关于新创建的多条记录的返回模型的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何返回多条记录

While Loop 仅从 9000 多条记录中返回一行

sql server返回插入记录的ID(多条记录)

SQL 查询:如果满足搜索条件,则应返回单条记录,否则返回多条记录

mybatis select返回多条记录即返回类型为list时

mybatis select返回多条记录即返回类型为list时