Laravel:语法错误或访问冲突:1055错误 [英] Laravel : Syntax error or access violation: 1055 Error
问题描述
我想在同一查询中使用WhereIn和Groupby来获取结果.
I want use WhereIn and Groupby in Same Query to fetch Result.
我已经尝试过了:
$loadids=explode("#@*",$reciptdet->loading_id);
$loadingdatas=DB::table('loading')->groupBy('vehicle_no')->whereIn('id',$loadids)->get();
但是我收到此错误消息:
But I got this error message:
SQLSTATE [42000]:语法错误或访问冲突:1055'sbrtpt.loading.id'不在GROUP BY中(SQL:从*中选择*,在装入(14、15、16)中的情况下,Vehicle_no分组)
SQLSTATE[42000]: Syntax error or access violation: 1055 'sbrtpt.loading.id' isn't in GROUP BY (SQL: select * from loading where id in (14, 15, 16) group by vehicle_no)
推荐答案
简短答案
在config\database.php
-> "mysql"
数组中
将'strict' => false
设置为全部禁用.
您可以离开'strict' => true
并将模式添加到
You can leave 'strict' => true
and add modes to "mysql"
option in
'mysql' => [
...
....
'strict' => true,
'modes' => [
//'ONLY_FULL_GROUP_BY', // Disable this to allow grouping by one column
'STRICT_TRANS_TABLES',
'NO_ZERO_IN_DATE',
'NO_ZERO_DATE',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_AUTO_CREATE_USER',
'NO_ENGINE_SUBSTITUTION'
],
]
详细答案
您可能不需要禁用所有 strict 选项... 请对此问题进行答案.
Detailed answer
You may not need to disable all strict options ... Kindly have a look on this answer about this issue.
这篇关于Laravel:语法错误或访问冲突:1055错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!