Laravel 5.4 - Get comma separated values in sql

Some time you get recird from comma separated values in sql. for example you craete one users module and this user know multiple language like english, france, hindi, italian etc..., so, some time to get only that type records whcih user know english.

So we have hew one language table like that

language table


+----+---------+
| id | name    |
+----+---------+
| 1  | english |
+----+---------+
| 2  | hindi   |
+----+---------+         

And we have one another table in this table we have store user information like that

users table


+----+-------------+----------+
| id | language_id | name     |
+----+-------------+----------+
| 1  | 1,2         | john doe |
+----+-------------+----------+
| 2  | 1           | Hanry    |
+----+-------------+----------+
| 3  | 2           | Harry    |
+----+-------------+----------+        

Now we are required only that user which know english, then here we are getting 2 user name. 1.john and 2. Hanry. so how to done this type query in laravel. it is posible with in laravel using find_in_set() like that


$data \DB::table("users.*")
    ->whereRaw("find_in_set('2',language_id)")
    ->orderBy("users.id","asc")
    ->get();      

Then we are geting like that result


+----+-------------+----------+
| id | language_id | name     |
+----+-------------+----------+
| 1  | 1,2         | john doe |
+----+-------------+----------+
| 2  | 1           | Hanry    |
+----+-------------+----------+

We are hope this small tutorials is helpfull to you.....

 Prev post

Next post