我需要从数据库获得数据'created_at'字段为过去14天。我用的是laravel 4
当我像这样选择
$someDate = '2014-07-10'; // for example <br/>
$records = Records::where('created_at', '=', $someDate)->get();
它返回一个空数组,但我有$someDate时间戳的记录。我应该如何写一个正确的查询?
结果正确,时间戳为TIMESTAMP
字段:
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
所以传递一个字符串2014-07-01
将返回预期的行只有当时间部分是00:00:00
(MySQL)。
改为使用DATE
:
$records = Records::where(DB::raw('DATE(created_at)'), $someDate)->get();
注意使用Carbon在这里没有任何帮助(除非时间戳的时间部分是00:00:00
)。
试试这个
$records = Records::where('created_at', '>', 'Carbon::parse('14 days ago'))->get();