如何将此MySQL查询转换为Laravel? 请任何人帮助我将MySQL查询转换为Laravel Sintax。谢谢!

这里是我的MySQL查询(在phpMyAdmin中工作):

SELECT workcenter,(SUM(w1+w2 +w3 +w4)/ (COUNT(DISTINCT(teknisi))*40*4) )*100 AS total FROM `team` GROUP by workcenter ORDER BY total

然后,我在下面尝试这样的Laravel Sintax(不起作用):

$sql = Team::groupBy('workcenter')->select('workcenter',\DB::raw('(SUM(w1+w2+w3+w4)/ (COUNT(DISTINCT(teknisi))*30*4) )*100 AS total'))
            ->OrderBy('total','Desc')
            ->get();

当我运行laravel sintax时,它没有显示任何错误,但是输出为空。

请任何人帮助我将MySQL查询转换为Laravel Sintax。谢谢!

wokun688 回答:如何将此MySQL查询转换为Laravel? 请任何人帮助我将MySQL查询转换为Laravel Sintax。谢谢!

我认为您已经足够亲密,但是,这似乎不是Eloquent ORM分组的正确方法。尝试使用原始表达式,这样可能会起作用:

$sql = DB::table('team')
                     ->select(DB::raw('workcenter,(SUM(w1+w2 +w3 +w4)/ (COUNT(DISTINCT(teknisi))*40*4) )*100 as total'))
                     ->orderBy('total','desc')
                     ->groupBy('workcenter')
                     ->get();

更多有关原始表达式的信息-https://laravel.com/docs/6.x/queries#raw-expressions

,

每当我要将SQL查询转换为Laravel时,我总是更改一个列名,laravel错误报告将显示您当前的查询,您可以将其与SQL查询进行比较

本文链接:https://www.f2er.com/3169291.html

大家都在问