我需要在最近14天内通过'created_at'字段从数据库获取数据。我使用laravel 4.无法通过created_at字段从数据库获取记录
当我选择这样
$someDate = '2014-07-10'; // for example <br/>
$records = Records::where('created_at', '=', $someDate)->get();
它返回一个空数组,但我有$ someDate时间戳记录。我应该如何编写正确的查询?
我需要在最近14天内通过'created_at'字段从数据库获取数据。我使用laravel 4.无法通过created_at字段从数据库获取记录
当我选择这样
$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();
note使用碳将不利于在这里以任何方式(除非再次,时间戳的时间部分是00:00:00
)。
谢谢你,它的工作 – gioch
试试这个
$records = Records::where('created_at', '>', \Carbon::parse('14 days ago'))->get();
您正在使用什么样的数据库? – Mark