public function serviceAvailable() { $a_service_available = array(); $service_available = ServiceTypes::leftJoin('allocate_services', 'allocate_services.service_type_id', '=', 'service_types.id')->select('service_types.id as service_id', 'service_types.name as service_name', 'allocate_services.*')->orderBy('service_name', 'ASC')->get(); $pet_types = PetTypes::orderBy('pet_name', 'ASC')->get(); foreach ($pet_types as $row) { $a_service_name = array(); foreach ($service_available as $sub_row) { $a_pet_id = explode(",", $sub_row->pet_type_ids); if ($sub_row->pet_type_ids != '' && in_array($row->id, $a_pet_id)) { $a_service_name[] = $sub_row->service_name; } } $a_service_available[$row->pet_name] = $a_service_name; } //echo "<pre>"; print_r($a_service_available); die; return View::make('service_available')->with('a_service_available', $a_service_available); }