所以我每小时从谷歌获取一些数据,我想确保如果我有数据库中的行来更新它们而不是创建重复数据。
示例:
$googleResponse->map(function ($row) {
$es = Google::firstOrNew($row);
$es->update($row);
});
问题:firstOrNew()
首先检查数据库中的行是否如此,然后将结果返回到$es
变量,然后我可以执行更新:$es->update($row);
这样做这样工作?
答案 0 :(得分:0)
firstOrNew
方法(如firstOrCreate
)将尝试在数据库中找到与给定属性相匹配的记录。但是,如果找不到模型,则会返回新的模型实例。请注意,firstOrNew
返回的模型尚未保留到数据库中。您需要手动调用save
以保留它
强调我的。