我有以下查询,但它返回一个空数组(我知道这个查询应该返回一个记录)
$created_at = date("Y-m");
$content = ContentModel::where('userId', $id->_id)
->where('created_at', 'like', "%{$created_at}%")
->orderBy('fav', 'DESC')
->get();
如果我删除了->where('created_at', 'like', "%{$created_at}%")
,它会返回所有内容,但我想要的是今年和月份的内容,但是当我把它放进去时查询不起作用。
数据库中的日期是ISODate格式
"created_at" : ISODate("2015-02-03T16:29:26.965Z")
我因为ISODate格式而猜测它。我如何得到我需要的结果?
由于
答案 0 :(得分:1)
请改用此代码:
$created_at = new DateTime(date('F jS Y h:i:s A', strtotime('first day of ' . date('F Y'))));
$content = ContentModel::where('userId', $id->_id)
->where('created_at', '>', $created_at)
->orderBy('fav', 'DESC')
->get();
在此代码中,$created_at
变量表示当月的第1个。