Собирание элементов ежемесячный ELOQUENT MODEL
мне нужно сделать query
, где я должен принести все элементы, перечисленные в месяце, в котором мы находимся.
В query
, что уже сделал я привез все с status
O
от OK
:
$vendas = Encomenda::where('FlgStEncomenda', 'O')->count();
В моей структуре таблицы у меня есть created_at
, что является датой создания, состоящая data
и hora
следующим образом 2016-11-02 16:25:03
через нее, что нужно, чтобы сделать исследование. Таким образом, я должен вернуть все vendas
, зарегистрированных в этом месяце.
1 answers
В версии laravel 5.2 используйте whereRaw
:
$mes = date('m');
$vendas = Encomenda::where('FlgStEncomenda', 'O')
->whereRaw("MONTH(created_at)={$mes}")
->count();
или
$vendas = Encomenda::where('FlgStEncomenda', 'O')
->whereRaw("MONTH(created_at)=?", array($mes))
->count();
В версии laravel 5.3 с помощью нового метода whereMonth
:
$mes = date('m');
$vendas = Encomenda::where('FlgStEncomenda', 'O')
->whereMonth("created_at",$mes)
->count();
Примечания: whereRaw
силы, использовать какие-либо функции, существующие в базе, как например в этом ссылке SOPT, имеет SQL
отнесении день, месяц и год, фильтры, полученные поля date
datetime
Database mysql. Также следует отметить, что whereRaw
это работает в текущих версиях laravel.
Фильмография: