Laravel中的查询对created_at列无效


Query in Laravel not working against created_at column

我正在编写一个查询,希望在其中针对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();

尝试使用碳包装

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

我得到了解决方案,这就是我的方法。

$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();