Laravel concat two columns with example

By Hardik Savani | September 23, 2019 | | 10556 Viewer | Category : Laravel


If you need to concat two columns with laravel query builder then i will give you example of how to concat two columns in laravel 6 application. we will concat columns in select statement and using laravel eloquent scope.

I will give you two way solution for concatenate columns in laravel 6. both way you can easily concatenating two columns in laravel 6 application.

First way is we will concat two columns in select statement using db raw in laravel 6. bellow i will give you full example, so you can easily use same code in your application. you can easily use with pluck method too.

Second way is we will use laravel model eloquent scope, using scope we will concat two columns. but i think we can say crop is a limited solution. But if you don't require more complex then you can use it. You can see both example bellow so. You will understand.

Solution 1:

/**

* Show the application dashboard.

*

* @return \Illuminate\Http\Response

*/

public function index()

{

$users = User::select("*", DB::raw("CONCAT(users.first_name,' ',users.last_name) as full_name"))

->get();

return view('home', compact('users'));

}

Use:

@foreach ($users as $user)

{{ $user->full_name }}

@endforeach

Solution 2:

You need to set scope in your model like as we defining on user model.

<?php

namespace App;

use Illuminate\Notifications\Notifiable;

use Illuminate\Contracts\Auth\MustVerifyEmail;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable

{

use Notifiable;

/**

* The attributes that are mass assignable.

*

* @var array

*/

protected $fillable = [

'first_name', 'last_name', 'email', 'password','type','is_active',

];

/**

* The attributes that should be hidden for arrays.

*

* @var array

*/

protected $hidden = [

'password', 'remember_token',

];

/**

* The attributes that should be cast to native types.

*

* @var array

*/

protected $casts = [

'email_verified_at' => 'datetime',

];

/**

* Get the user's full concatenated name.

* -- Must postfix the word 'Attribute' to the function name

*

* @return string

*/

public function getFullNameAttribute()

{

return "{$this->first_name} {$this->last_name}";

}

}

Use:

@foreach ($users as $user)

{{ $user->full_name }}

@endforeach

Use Pluck Concat Two Columns:

$users = User::select("id", DB::raw("CONCAT(users.first_name,' ',users.last_name) as full_name"))

->pluck('full_name', 'id');

dd($users);

I hope it can help you...




Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.

We are Recommending you: