Laravel - "Syntax Error or Access Violation 1055 in Group By" - Solved
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...