时间戳转换器

如何将此 MySQL 查询转换为 Laravel?

日期:2023-05-09     浏览:126    
【中文标题】如何将此 MySQL 查询转换为 Laravel?【英文标题】:How to convert this MySQL query to Laravel? 【发布时间】:2019-11-04 03:09:30 【问题描述】:

这是我的 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。谢谢!

【问题讨论】:

我已经试过你的代码了。它工作正常。您的模型是否连接了正确的数据库或定义了正确的表名? 【参考方案1】:

我认为您已经足够接近了,但是,这看起来不像是使用 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

【讨论】:

感谢您的回答先生,我已经复制+粘贴了sintax,但仍然无法正常工作,嗯【参考方案2】:

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

【讨论】:

我的 sintax 没有导致任何错误,但只显示 'nothing' idk whyy :( 如果您将列名 workcenter 更改为 workcente2r,例如,这应该会导致未找到列的错误,并且会输出带有错误列的查询。

相关文章

将 mysql 查询转换为 laravel 查询生成器

{】将mysql查询转换为laravel查询生成器【英文标题】:convertmysqlquerytolaravelquerybuilder【发布时间】:2019-03-0900:42:57【问题描述】:我想将此查询转换为Laravel查询构建器语法。任何帮助。谢谢。SELECTc.id,c.name,c.priceFROMcarsc,garagegWHERE(g.n...}

如何将此查询从 MSSQL 转换为 MySQL?

{】如何将此查询从MSSQL转换为MySQL?【英文标题】:HowtoconvertthisquerytoMySQLfromMSSQL?【发布时间】:2022-01-1506:26:01【问题描述】:查询:SELECTcount(id)AScounter,SUBSTRING(user_name,CHARINDEX(\'@\',user_name)+1,LEN(user_name))ASdomain,comp_idFROMuser_stat}

如何将 sql 转换为查询生成器 laravel

{】如何将sql转换为查询生成器laravel【英文标题】:howtoconvertsqltoquerybuilderlaravel【发布时间】:2021-04-3007:15:39【问题描述】:谁能帮我将此SQL转换为查询生成器!SELECTtopwords.*,mw.wordASmy_wordFROMtopwordsLEFTJOIN(SELECTDISTINCTwords.wordFROMdefinit...}

如何将此codeigniter查询转换为选择更新

{】如何将此codeigniter查询转换为选择更新【英文标题】:Howtoconvertthiscodeigniterquerytoselectforupdate【发布时间】:2019-01-1817:29:05【问题描述】:丢失更新是一个常见的MySQL问题,为了解决这个问题,应该将选择查询编辑为这样的更新...}

将此查询转换为 eloquent

{...布时间】:2013-01-0815:13:28【问题描述】:我正在开发一个Laravel项目,并尝试将此查询转换为雄辩的查询,以便我可以急切地加载其他关系。$restaurants=DB::query(\'SELECT*,(3959*acos(cos(radians(21.420639))*cos(radians(lat))*cos(}

我想将 MySQL 查询转换为 Laravel Eloquent / Laravel ORM

{】我想将MySQL查询转换为LaravelEloquent/LaravelORM【英文标题】:IwanttocovertMySQLqueryintoLaravelEloquent/LaravelORM【发布时间】:2021-12-2922:34:40【问题描述】:这是我的查询;SELECT*FROM`chats`chatINNERJOIN(SELECTMAX(`chats`.`id`)ASlast_idFROM`chats`WHERE(}

如何将许多语句 mysql 转换为 laravel eloquent?

{】如何将许多语句mysql转换为laraveleloquent?【英文标题】:HowcanIconvertmanystatementmysqltolaraveleloquent?【发布时间】:2019-01-2103:55:10【问题描述】:Mysql查询如下:SELECTGROUP_CONCAT(DISTINCTCONCAT(\'ifnull(SUM(casewhenlocation_code=\'\'\',location_code}

如何将此mysql选择返回转换为一个数组

{】如何将此mysql选择返回转换为一个数组【英文标题】:Howtoconvertthismysqlselectreturnintoonearray【发布时间】:2017-08-2115:04:40【问题描述】:有没有像下面的例子那样转换它?转换:[RowDataPackettitle:\'Code\',RowDataPackettitle:\'Pizza\']进入这...}

将 MySQL 查询从嵌套选择转换为内部连接

{...其他查询之一转换为内部联接,它要快得多。我正在尝试将此查询转换为内部联接。当前工作查询:selectdate(datetime),req_origi}

需要将查询转换为 Eloquent Model laravel

{】需要将查询转换为EloquentModellaravel【英文标题】:NeedtoconvertaqueryintoEloquentModellaravel【发布时间】:2021-07-2721:11:39【问题描述】:我有一个MySQL的查询,但我需要将它转换成一个雄辩的模型laravel8。查询如下,$query="SELECTgroup_idFROM...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号