Laravel中的查询不适用于created_at列

时间:2016-05-12 07:34:08

标签: php mongodb laravel-5

我正在编写一个查询,其中我想要针对created_at列获取数据。但它不起作用,它不返回任何东西。我使用Mongodb作为数据库。 Created_at列的日期格式为"created_at": ISODate("2016-05-11T09:29:33.112Z"),当我从数据库中获取它时,它给了我2016-05-11 09:29:33。

$datetimenow = date('Y-m-d H:i:s');
$data = ChatMessages::where('created_at','<',$datetimenow)->count();

2 个答案:

答案 0 :(得分:1)

尝试使用Carbon Package

$now = \Carbon\Carbon::now('Asia/Dubai'); //you can specify your own timezone
$messages = ChatMessages::where('created_at', '<', $now)->get();
dd($messages);

答案 1 :(得分:0)

我得到了解决方案,这就是我如何做到这一点。

$d1 = new MongoDate(strtotime('2016-01-04 23:21:46'));
$d2 = new MongoDate(strtotime('2016-05-09 23:21:46'));
$data = ChatMessages::whereRaw(['created_at' => array('$gt' => $d1, '$lt' => $d2)])->count();