For getting every new tutorial link Please join our telegram group

Part 9 how to use laravel eloquent subquery select by addSelect() method

This laravel eloquent about subquery select. How to select a column from relational table with main model or table data by addSelect() method.

Laravel Subquery Selects method

Laravel Subquery Selects use a method addSelect() for getting extra column data with the main model it may be dummy data or relational table data. subquery select is advanced subquery support that is used to get data from related tables in a single query. More explain by below examples

Example 1 simple subquery select which have a column for dummy data
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Student;
use DB;

class StudentController extends Controller{
 public function index(){
    $students = Student::select()
			->addSelect(DB::raw('5 as total'))
			->where('status','1')
			->get();

    dd($students);
  }

}

In above example students all columns data print and an extra column add total with value 5.

Example 2 add a column from relational table by eloquent model
<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Student;
use App\Models\ExtraDetail;

class StudentController extends Controller{
 public function index(){
    $students = Student::addSelect(['roll_no' => ExtraDetail::select('roll_no')
	                        ->whereColumn('student_id', 'students.id')
	                        ->limit(1)
	                    ])
			->where('status','1')
			->get();

    dd($students);
  }

}

here extra_details table have more information about student so we get a roll_no column with student model than use addSelect() query.

You read this tutorial on advanced web tutorial. here we provide laravel beginners to advanced tutorial.

php laravel developer anmol sharma

Anmol Sharma

I am a software engineer and have experience in web development technologies like php, Laravel, Codeigniter, javascript, jquery, bootstrap and I like to share my deep knowledge by these blogs.

Related tutorial links