db->table('client_policy') ->select('policy_type.*') ->join('policy_type', 'policy_type.id = client_policy.policy_type_id') ->where('client_policy.id', $policy_id) ->get() ->getResult(); } public function getPolicySlabRatesForEmpOnboard($policy_id,$client_id) { $premium_slab_data = null; $additional_premium_slab_data = null; $grid_type = null; $additional_grid_type = null; $policyPremium1Model = new PolicyPremium1Model(); $premium_slab_data = $policyPremium1Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1])->findAll(); // dd($premium_slab_data); if(is_array($premium_slab_data) && !count($premium_slab_data)) { // echo '2'; $policyPremium2Model = new PolicyPremium2Model(); $premium_slab_data = $policyPremium2Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1])->findAll(); // check any additional rack rate configured $additional_premium_slab_data = $policyPremium2Model->where(['client_id' => $client_id, 'client_policy_id' => $policy_id, 'is_active' => 1,'rack_rate_type' => 1])->findAll(); } if(isset($premium_slab_data[0]['policy_grid_id'])) { $pre_grid_id = 0; $grid_type = []; foreach ($premium_slab_data as $key => $value) { if($value['policy_grid_id'] != $pre_grid_id) { $grid_id = $value['policy_grid_id']; $policyGridModel = new PolicyGridModel(); $grid_type = $policyGridModel->find($grid_id); $premium_slab_data[$key]['grid_master'] = $grid_type; } $premium_slab_data[$key]['grid_master'] = $grid_type; } } if(isset($additional_premium_slab_data[0]['policy_grid_id'])) { $additional_grid_id = $additional_premium_slab_data[0]['policy_grid_id']; $policyGridModel = new PolicyGridModel(); $additional_grid_type = $policyGridModel->find($additional_grid_id); } return ['slab_rates' => $premium_slab_data,'grid_master' => $grid_type,'additional_slab_info' => ['slab_rates' => $additional_premium_slab_data,'grid_master' => $additional_grid_type]]; } }