Laravel firstOrNew

时间:2018-03-28 09:49:36

标签: laravel

所以我每小时从谷歌获取一些数据,我想确保如果我有数据库中的行来更新它们而不是创建重复数据。

示例:

$googleResponse->map(function ($row) {
    $es = Google::firstOrNew($row);
    $es->update($row);
});

问题:firstOrNew()首先检查数据库中的行是否如此,然后将结果返回到$es变量,然后我可以执行更新:$es->update($row);这样做这样工作?

1 个答案:

答案 0 :(得分:0)

来自the documentation

  

firstOrNew方法(如firstOrCreate)将尝试在数据库中找到与给定属性相匹配的记录。但是,如果找不到模型,则会返回新的模型实例。请注意,firstOrNew返回的模型尚未保留到数据库中。您需要手动调用save以保留它

强调我的。