Eloquent – Laravel Join on 3 Table

/********************************************************/

$program = DB::table('syllabus')
->where('syllabus.display_status',1)
->where('subcategories.display_status',1)
->where('categories.display_status',1)
->where('sections.display_status',1)


->join('subcategories','subcategories.id','=','syllabus.subcategory_id')
->join('categories','categories.id','=','subcategories.category_id')
->join('sections','sections.id','=','categories.section_id')

->where(function($query){
$query->orWhere('syllabus.displaytype_id','=',1)
->orWhere('syllabus.displaytype_id','=',2);
})
->select('categories.name')
->groupBy('categories.name')
->orderBy('categories.rank')
->get();



/********************************************************/


$syllabus = DB::table('syllabus')
->where('syllabus.display_status',1)
->where('subcategories.display_status',1)
->where('categories.display_status',1)
->where('sections.display_status',1)


->join('subcategories','subcategories.id','=','syllabus.subcategory_id')
->join('categories','categories.id','=','subcategories.category_id')
->join('sections','sections.id','=','categories.section_id')

->where(function($query){
$query->orWhere('syllabus.displaytype_id','=',1)
->orWhere('syllabus.displaytype_id','=',2);
})
->select('categories.name','syllabus.*','subcategories.name as semester')
->orderBy('syllabus.rank','asc')
->get();
/********************************************************/

Leave a Reply

Your email address will not be published. Required fields are marked *