laravel5.8(十八)laravel 解決groupBy時出現的錯誤 isn“t in Group By問題


使用原生sql查詢數據,語句如下:

SELECT p1.*,p2.category_name,p3.name as exp_name,p3.CID,p4.name as school_name,count(p5.id) as expcidtimeCount
FROM virtual_simulation p1
LEFT JOIN virtual_category p2 ON p1.nlab_id = p2.id
LEFT JOIN exp p3 ON p1.exp_id = p3.id
LEFT JOIN school p4 ON p1.school_id = p4.id
LEFT JOIN expcidtime p5 ON p1.exp_id = p5.expid
WHERE 1 = 1
GROUP BY p1.exp_id
ORDER BY p1.id DESC
LIMIT 0,6

使用laravel執行的時候,報錯:

在這里插入圖片描述

但是我上邊的sql放在phpmyadmin中標執行就沒有問題。

這個原因是因為 laravel數據庫的配置中的strict配置問題, 因為在配置中配置為true的時候,laravel的groupBy會為所有的例分組, 設置為false之后,他只會為你指定的列分組,就可以解決這個問題。

這個配置在根目錄下的/config/database.php中,如下圖所示:

在這里插入圖片描述

修改完成之后,即可。

有好的建議,請在下方輸入你的評論。

歡迎訪問個人博客
https://guanchao.site

歡迎訪問小程序:
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM