语法错误:COLUMN不在GROUP BY中(SQL,Laravel)

时间:2017-07-31 16:04:36

标签: php sql laravel-5

我在Laravel 5.4中遇到错误,试图运行以下查询:

    return ReferLinkVisit::where('refer_link_id', $this->id)
        ->groupBy('ipaddr')
        ->get()

错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1055'database.refer_link_visits.id'不在GROUP BY中(SQL:select * from`reference_link_visits`其中`refer_link_id` = 1 group by`ipaddr`)(查看:/resources/views/dashboard/refer/home.blade.php)

然而,我可以在phpmyadmin中运行命令,它会正常工作。我没有得到它,因为我已经写了类似的查询一百次,但无论出于何种原因,这次它只是不想工作。我无法弄清楚我做错了什么。

表格结构:

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要禁用MySQL严格模式。 打开 config / database.php ,然后在连接数组中找到 mysql 数组。 将严格模式的值更改为false。

'connections' => [
     ...
     'mysql' => [
         ...
         'strict' => false, // ensure strict mode is set to false
         ...
      ],
     ...
]

我希望这可以解决您的问题。