Laravel简单月份选择

Ale*_*ran 4 php mysql frameworks laravel eloquent

我尝试从日期字段"fechas"(日期时间类型)检索月份,其中使用SQL子句MONTH进行测试不起作用...感谢回复

            $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();
Run Code Online (Sandbox Code Playgroud)

Kim*_*jan 23

你可以使用hide gem whereMonth:

DB::table("ordenes")
    ->whereMonth('fecha', '=', '06')
    ->get();
Run Code Online (Sandbox Code Playgroud)

我强烈建议您阅读Builder.php源代码以搜索其他宝石.:) https://github.com/laravel/framework/blob/4.2/src/Illuminate/Database/Query/Builder.php


Bar*_*wan 6

你可以使用这样的东西

$users = Model::whereMonth('created_at', '12')->get();
Run Code Online (Sandbox Code Playgroud)

https://laravel.com/docs/6.x/queries#where-clauses