Php 从查询生成器Laravel中排除记录
我的表格包含以下数据:Php 从查询生成器Laravel中排除记录,php,mysql,sql,laravel,laravel-query-builder,Php,Mysql,Sql,Laravel,Laravel Query Builder,我的表格包含以下数据: 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
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
我需要从此表中提取所有“代码”,但只显示一个产品代码一次
如果存在一条没有公司id的记录,我会显示该记录,如果不存在,我会显示带有标准描述的记录
从示例数据开始,如果我想显示公司的文章_id=1,我希望有以下输出:
ID | company_id | code | description
02 | NULL | XYZU | Standard description XYZU
03 | 1 | CD01 | Custom description CD01 for company 1
你有什么建议吗
感谢您按分组方式从数据库结果中删除重复条目。您应该仅禁用mysql的“完整”分组方式。不要在mysql中这样做,也不要禁用严格模式!拉威尔自己设置了一些模式 是禁用此模式的总体解决方案 但在拉威尔,你还应该尝试另一件事: 转到YouProjectFolder/vendor/laravel/framework/src/illumb/Database/Connectors/MySqlConnector.php 在文件fin strict_mode函数的末尾,只需通过fr0m删除函数中的字符串即可。
我刚刚在stackoverflow帖子中看到了这个解决方案。不幸的是,我没有发现,如果要按group by从数据库结果中删除重复条目,您应该只禁用mysql的“完整”组。不要在mysql中这样做,也不要禁用严格模式!拉威尔自己设置了一些模式 是禁用此模式的总体解决方案 但在拉威尔,你还应该尝试另一件事: 转到YouProjectFolder/vendor/laravel/framework/src/illumb/Database/Connectors/MySqlConnector.php 在文件fin strict_mode函数的末尾,只需通过fr0m删除函数中的字符串即可。
我刚刚在stackoverflow帖子中看到了这个解决方案。不幸的是,我没有找到那篇帖子你试过记录吗::whereNull'company\u id'->或where'company\u id',$companyId->groupBy'code'->get;我刚才试过了,但系统返回了一个SQL错误:SELECT list的1055表达式1不在GROUP by子句中,并且包含功能上不依赖GROUP by子句中的列的未聚合列;这与sql\u mode=仅\u full\u group\u by不兼容您是否尝试过记录::whereNull'company\u id'->或where'company\u id',$companyId->groupBy'code'->get;我刚才试过了,但系统返回了一个SQL错误:SELECT list的1055表达式1不在GROUP by子句中,并且包含功能上不依赖GROUP by子句中的列的未聚合列;这与sql\u mode=only\u full\u group\u BY不兼容。我已在:YouProjectFolder/vendor/laravel/framework/src/light/Database/Connectors/MySqlConnector.phpnow中禁用了此模式。请检查sql中是否存在此模式。如果在那里也禁用了group by,则可以使用group by来选择不同的结果。我已在以下位置禁用group by:YouProjectFolder/vendor/laravel/framework/src/Illumb/Database/Connectors/MySqlConnector.phpnow检查sql中是否存在此模式。如果在那里也禁用了group by,则可以使用group by来选择不同的结果。