Jenssegers MongoDB «как запрос» возвращение пустого массива на ISODate

У меня есть следующий запрос, но он возвращает пустой массив (я точно знаю, что этот запрос должен вернуть одну запись)

$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. Как получить нужный мне результат?

Спасибо

2

Решение

Используйте этот код вместо:

$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-е число текущего месяца.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]