Php 如何将此MySQL查询转换为Laravel?
这里是我的MySQL查询(在phpMyAdmin中工作): 然后,我尝试如下方式在Laravel Sintax中使用(不适用): 当我运行laravel sintax时,它不会显示任何错误,但输出为nothingPhp 如何将此MySQL查询转换为Laravel?,php,mysql,sql,laravel,eloquent,Php,Mysql,Sql,Laravel,Eloquent,这里是我的MySQL查询(在phpMyAdmin中工作): 然后,我尝试如下方式在Laravel Sintax中使用(不适用): 当我运行laravel sintax时,它不会显示任何错误,但输出为nothing 请任何人帮助我将MySQL查询转换为Laravel Sintax。谢谢大家! 我认为你已经足够接近了,但是,这看起来并不是一个用雄辩的ORM分组的正确方法。尝试使用原始表达式,类似这样的方法可能会奏效: $sql = DB::table('team')
请任何人帮助我将MySQL查询转换为Laravel Sintax。谢谢大家! 我认为你已经足够接近了,但是,这看起来并不是一个用雄辩的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();
关于原始表达式的更多信息-每当我想将SQL查询转换为Laravel时,我总是更改一个列名,Laravel错误报告将显示您当前的查询,您可以将其与SQL查询进行比较我已经尝试了您的代码。它很好用。您的模型是否连接了正确的数据库或定义了正确的表名?谢谢您的回答,先生,我已经复制并粘贴了sintax,但仍然不工作,hmmmy sintax没有导致任何错误,但只显示“nothing”idk whyy:(例如,如果将列名workcenter更改为workcente2r,则会导致列未找到错误,并将使用错误的列输出查询。)。
$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();
$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();