我的表格包含以下数据:
ID | company_id | code | description
01 | NULL | CD01 | Standard description CD01
02 | NULL | XYZU | Standard description XYZU
03 | 1 | CD01 | Custom description CD01 for company 1
04 | 2 | CD01 | Custom description CD01 for company 2
我需要提取所有代码'从此表中可以看到只有一次产品代码。
如果存在包含company_id<>的记录''我表明,如果不存在,我会用标准描述显示记录。
从示例数据开始,如果我想显示company_id = 1的文章,我希望得到这个输出:
ID | company_id | code | description
02 | NULL | XYZU | Standard description XYZU
03 | 1 | CD01 | Custom description CD01 for company 1
你有建议去做吗?
谢谢
答案 0 :(得分:2)
要按组删除数据库结果中的重复条目,应该为mysql禁用ONLY_FULL_GROUP_BY。不要在mysql中这样做,也不要禁用严格模式! laravel本身设置了一些模式。
this是禁用此模式的整体解决方案。
但是在laravel你也应该尝试另一件事:
转到YouProjectFolder/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php
在文件fin strict_mode()
函数的末尾,只需删除ONLY_FULL_GROUP_BY
fr0m函数中的字符串。
(我刚刚在stackoverflow帖子中看到了这个解决方案。不幸的是我没找到帖子)