GROUP_CONCAT with different SEPARATOR in Laravel Example

By Hardik Savani April 16, 2024 Category : Laravel MySql

Whenever, you need to use GROUP_CONCAT with differente separator(I mean default separator is ',', But you want to change '@','#','&' etc as you want). then you have to use use SEPARATOR keyword in GROUP_CONCAT(). If you are working on laravel then you have to also use DB::raw() for write GROUP_CONCAT() inside the this function.

So, Basically how to change seprator in group_concat(), In following example i change ',' separator into '@'.you can use the following example how to use in laravel 6, laravel 7, laravel 8, laravel 9, laravel 10 and laravel 11 versions.

Example:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Item;

use DB;

class DemoController extends Controller

{

/**

* Write code on Method

*

* @return response()

*/

public function index(Request $request)

{

$items = Item::select(

"items.id",

"items.name",

DB::raw("(GROUP_CONCAT(items_city.name SEPARATOR '@')) as `cities`"))

->leftjoin("items_city","items_city.item_id","=","items.id")

->groupBy('items.id')

->get();

dd($items);

}

}

Try this.....

Tags :
Shares