我需要使用' created_at'从数据库获取数据。最近14天的字段。我正在使用laravel 4。
当我选择这样的时候
$someDate = '2014-07-10'; // for example <br/>
$records = Records::where('created_at', '=', $someDate)->get();
它返回一个空数组,但我有$ someDate时间戳的记录。我该如何撰写正确的查询?
答案 0 :(得分:2)
结果是正确的,时间戳是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
)。
答案 1 :(得分:0)
试试这个
$records = Records::where('created_at', '>', \Carbon::parse('14 days ago'))->get();