Laravel selectRaw() query example; In this tutorial, you will learn in detail how to write select raw and select DB raw query in laravel. And as well as learn, how to use selectRaw with joined table data.
You can use the laravel selectRaw eloquent method to building query in laravel apps. And also use laravel select raw with multiple conditions in eloquent queries.
So, let’s see following examples that will help you how to use selectRaw() eloquent query in laravel:
- Example 1: Laravel selectRaw Query using Model
- Example 2: selectRaw Query using Query Builder
- Example 3: Laravel selectRaw with joined table data
Example 1: Laravel selectRaw Query using Model
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$users = User::select("*")
->selectRaw('amount + ? as amount_with_bonus', [500])
->get();
dd($users);
}
}
When you dump the above given selectRaw query you will get the following SQL query:
select *, amount + ? as amount_with_bonus from `users`
Example 2: selectRaw Query using Query Builder
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use DB;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$users = DB::table('users')->select("*")
->select('*', DB::raw('amount + 500 as amount_with_bonus'))
->get();
dd($users);
}
}
When you dump the above given selectRaw query you will get the following SQL query:
select *, amount + ? as amount_with_bonus from `users`
Example 3: Laravel selectRaw with joined table data
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use DB;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$users = DB::table('users')
->where('active','true')
->join('user_types', 'users.user_type_id', '=', 'user_types.id')
->groupBy('user_type_id','user_types.name')
->selectRaw('sum(total) as sum, user_types.name as name')
->pluck('sum','name');
dd($users);
}
}