新创建的多条记录的返回模型
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();
【讨论】:
以上是关于新创建的多条记录的返回模型的主要内容,如果未能解决你的问题,请参考以下文章
SQL 查询:如果满足搜索条件,则应返回单条记录,否则返回多条记录