使用Eloquent比较查询中的日期

时间:2014-05-26 20:11:19

标签: laravel laravel-4 eloquent

如何创建像

这样的查询

WHERE DATE(created_date) = '2014-05-26'

<\ n>在Laravel?

我得到了这个

->where('created_date', Input::get('date'))

但它不起作用,因为 created_date 是日期时间

4 个答案:

答案 0 :(得分:2)

使用DateTime类可能:

->where('created_date', new DateTime(Input::get('date')))

它应该有用!

答案 1 :(得分:2)

试试这个

where('created_date', '>', $date->startOfDay()->toDateTimeString())
->where('created_date', '<', $date->endOfDay()->toDateTimeString())
->get();

并看看这个: Laravel eloquent get model on date

答案 2 :(得分:0)

您必须将日期的字符串表示形式转换为Carbon实例。

$date    = Carbon\Carbon::parse(Input::get('date'));
$results = Model::where('created_date', $date);

快乐的编码!

答案 3 :(得分:0)

我认为最好的选择,也是最符合逻辑的选择如下:

$results = Model::whereDate('created_date', Input::get('date'));

此处可选择使用碳。