Laravel Simple Month Selection
45,604
Solution 1
You could use the hide gem whereMonth
:
DB::table("ordenes")
->whereMonth('fecha', '=', '06')
->get();
I highly recommend to you read the Builder.php source to search for another gems. :) https://github.com/laravel/framework/blob/4.2/src/Illuminate/Database/Query/Builder.php
Solution 2
You could use something like this
$users = Model::whereMonth('created_at', '12')->get();
https://laravel.com/docs/6.x/queries#where-clauses
Solution 3
You may try whereRaw
method
$data = DB::table("ordenes")
// ...
->whereRaw('MONTH(fecha) = ?', [06])
// ...
->get();
Comments
-
Alejandro Beltran almost 2 years
y tried retrieve month from date field "fechas" (datetime type) where testing with SQL clause MONTH not works... thanks for replies
$data = DB::table("ordenes") ->select(array('*', DB::raw('((cant_ped)*(precio_unit)) as sum_pedidos'), DB::raw('((cant_pend)*(precio_unit)) as sum_pends'), DB::raw('((cant_rec)*(precio_unit)) as sum_recibidos'), DB::raw('(((cant_pend)*(precio_unit)) + ((cant_rec)*(precio_unit))) as sum_importe'))) ->where('cod_prov', '<>', 0) ///////////// line ERROR ->where('MONTH(fecha)', '=', '06') ///////->where('MONTH(fecha)', '=', '2014-06-20') ///test OK ->groupBy('cod_prov') ->skip(Input::get("jtStartIndex")) ->take(Input::get("jtPageSize")) ->get();