Laravel 5.5 group by doesn’t work – fixed

[et_pb_section bb_built=”1″ admin_label=”section”][et_pb_row admin_label=”row”][et_pb_column type=”4_4″][et_pb_text admin_label=”Text” background_layout=”light” text_orientation=”left” use_border_color=”off” border_color=”#ffffff” border_style=”solid”]

Are you want to make full text search in your laravel 5.5 application ?, If Yes then you are a right place. In this post i am going to share with you how to create full text search using “nicolaslopezj/searchable” composer package in laravel 5.
Someday ago i just installed laravel 5.5 application and i was checking new feature and making some examples. But i was working on database query builder example one by one, i got following error when i used group by on single column.

My query was like as bellow example, so you can see on database query i simple get all users and group by with name. So, let’s simply see how it is:

DB Query:

$users = DB::table("users")
->groupBy("name")
->get();
dd($users);

But when i run above query using database query builder i got following error, as you can see:

SQLSTATE[42000]: Syntax error or access violation: 1055 ‘laravel_test.users.id’ isn’t in GROUP BY (SQL: select * from `users` group by `name`)

I was thinking what is the issue because without group by it was working, but at last i found it how to solve it So we have to simply “strict” mode make it true into false in database.php file. So let’s do it as bellow:

config/database.php

first thing is that we have to install “nicolaslopezj/searchable” composer package, so let’s run bellow command for it.

composer require nicolaslopezj/searchable

Step 2: Package Setup

In this step, if i am not wrong we have default table “users” created with it’s model. So, we have to simple add SearchableTrait on user model. So let’s add SearchableTrait as like following:

app/User.php


...
'strict' => true,

To

'strict' => false,
....

After that i hope you found your solution.

Thank you…

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

Leave a Reply

Your email address will not be published. Required fields are marked *