Laravel 5 - "syntax error or access violation 1055 in group by" Solved

By Hardik Savani | February 15, 2017 | | 869 Viewer | Category : Laravel


Share this post:

Yesterday i was working on my Laravel 5.4 application and when i use group by statement in query builder I found error like as bellow:


SQLSTATE[42000]: Syntax error or access violation: 1055 'admin.products.name' isn't in GROUP BY (SQL: select `products`.*, SUM(products_stock.stock) from `products` inner join `products_stock` on `products_stock`.`product_id` = `products`.`id` group by `products`.`id`)

I was thinking what will be error and why it comes. i thought maybe it comes from mysql. i just add following query using laravel builder as like bellow:

Laravel Query

$data = DB::table("products")

->select("products.*",DB::raw("SUM(products_stock.stock)"))

->join("products_stock","products_stock.product_id","=","products.id")

->groupBy("products.id")

->get();

But it's give me error as i add bellow. I searched on google and finally i found solution. You have to open batabase.php configuration file and we have to just "strict" equal to false. So do it like as bellow:

config/database.php

<?php

return [

.....

'connections' => [

......

'mysql'[

.....

'strict' => false,

.....

]

]

]

I hope it can help you...



We are Recommending you: