如何在Laravel中查询created_at字段

Yah*_*din 3 model laravel laravel-5

当试图查找created_at时间大于某个值的所有记录时,它似乎不起作用。

例如我已经尝试过这个:

return Foo::where('created_at', '>', '1457408361')->get();
Run Code Online (Sandbox Code Playgroud)

但它不断返回所有记录!

Mar*_*ean 5

使用whereDate()查询方法:

\n\n\n\n
$date = Carbon::yesterday(); // Create date however you want\n\nFoo::whereDate(\'created_at\', \'>\', $date);\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您经常执行这些类型的查询,我\xe2\x80\x99d 会考虑将其包装到查询范围中:

\n\n
use DateTimeInterface;\n\nclass Foo extends Model\n{\n    public function scopeCreatedAfter(DateTimeInterface $date)\n    {\n        return $query->whereDate(\'created_at\', \'>\', $date);\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

用法:

\n\n
Foo::createdAfter($date)->get();\n
Run Code Online (Sandbox Code Playgroud)\n