Laravel:语法错误或访问冲突:1055错误 [英] Laravel : Syntax error or access violation: 1055 Error

查看:93
本文介绍了Laravel:语法错误或访问冲突:1055错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在同一查询中使用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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆