Laravel concat two columns with example
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, laravel 7, laravel 8, laravel 9 and laravel 10 app. 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
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, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Laravel 7/6 Ajax CRUD Tutorial
- Laravel 6 Generate PDF File Tutorial
- Laravel 6 Ajax Autocomplete Search from Database
- Laravel 6 CRUD Application Tutorial
- How to select concat columns with Laravel Query Builder?
- How to Get Month Difference Between Two Dates in Laravel?
- GROUP_CONCAT with different SEPARATOR in Laravel Example