【发布时间】:2018-04-02 20:55:30
【问题描述】:
有没有办法使用带有日期间隔的 firstOrCreate 。我知道你可以使用:
Model::firstOrCreate(['field' => $value], ['created_at' => $dateValue]);
但是是否可以检查最近几天之间的记录是否存在?
【问题讨论】:
有没有办法使用带有日期间隔的 firstOrCreate 。我知道你可以使用:
Model::firstOrCreate(['field' => $value], ['created_at' => $dateValue]);
但是是否可以检查最近几天之间的记录是否存在?
【问题讨论】:
如果您查看firstOrCreate 的源代码,检查条件的所有操作就是将其传递给where():
if (! is_null($instance = $this->where($attributes)->first())) {
return $instance;
}
意思是你可以使用任何可以传递给where的东西,包括一个参数数组:
Model::firstOrCreate([
['date', '>', $start],
['date', '<', $end]
], ['created_at' => $dateValue]);
【讨论】:
]。此函数需要 2 个参数。