当试图查找created_at
时间大于某个值的所有记录时,它似乎不起作用。
例如我试过这个:
return Foo::where('created_at', '>', '1457408361')->get();
但它不断返回所有记录!
答案 0 :(得分:2)
您始终可以使用Carbon转换UNIX时间戳:
Foo::where('created_at', '>=', Carbon::createFromTimestamp(1457408361))->get();
因此,您可以将整数转换为Carbon实例并按上述方式进行比较。
您可以在此处阅读有关碳的信息:http://carbon.nesbot.com/docs/
答案 1 :(得分:2)
使用whereDate()
查询方法:
$date = Carbon::yesterday(); // Create date however you want
Foo::whereDate('created_at', '>', $date);
如果您经常进行这些类型的查询,我会考虑将其包装到查询范围中:
use DateTimeInterface;
class Foo extends Model
{
public function scopeCreatedAfter(DateTimeInterface $date)
{
return $query->whereDate('created_at', '>', $date);
}
}
用法:
Foo::createdAfter($date)->get();