使用原生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
歡迎訪問小程序: