gpt4 book ai didi

php - 从查询生成器 Laravel 中排除记录

转载 作者:行者123 更新时间:2023-11-29 06:49:01 24 4
gpt4 key购买 nike

我的表有这些数据:

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

你有什么建议吗?

谢谢

最佳答案

要按组从数据库结果中删除重复条目,您应该禁用 mysql 的 ONLY_FULL_GROUP_BY 。不要在 mysql 中这样做,也不要禁用严格模式! laravel 本身设置了一些模式。

this是禁用此模式的整体解决方案。

但是在 Laravel 中你还应该尝试另一件事:

转到YouProjectFolder/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php

在文件末尾找到 strict_mode() 函数,然后从函数内的字符串中删除 ONLY_FULL_GROUP_BY 。(我刚刚在 stackoverflow 帖子中看到了这个解决方案。不幸的是我没有找到那个帖子)

关于php - 从查询生成器 Laravel 中排除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com