I tried to put
orderBy(hr_workers.l_name)
beforeget()
but it's not working.. also tried to put it on $workers but still not working... I don't have any idea why isn't working... anyone can help me all answer must be appreciated thanks in advance
I want the result is alphabetically arrange by last name
public function show6($id)
{
$workers = DB::table('hr_workers')
->select('wrk_id','f_name','m_name','l_name');
$attendance = DB::table('payroll_daily_attendance')->where('payroll_daily_id', $id)
->select('payroll_daily_attendance.*','f_name','l_name','m_name')
->rightjoinSub($workers,'worker', function($join){
$join->on('payroll_daily_attendance.wrk_id','=','worker.wrk_id');
});
$payroll = DB::table('payroll_daily_details')
->select('payroll_daily_details.*','wrk_id','f_name','m_name','l_name','attendance.*')
->rightjoinSub($attendance,'attendance', function($join){
$join->on('payroll_daily_details.payroll_daily_id','=','attendance.payroll_daily_id');
})
->get();
$fetch = [];
foreach($payroll as $key){
if(!isset($fetch[$key->wrk_id]['total_ot']) && !isset($fetch[$key->wrk_id]['total_days']) && !isset($fetch[$key->wrk_id]['grand_total'])){
$fetch[$key->wrk_id]['total_ot'] = 0;
$fetch[$key->wrk_id]['total_days'] = 0;
$fetch[$key->wrk_id]['total_allowance'] = 0;
$fetch[$key->wrk_id]['grand_total'] = 0;
}
$fetch[$key->wrk_id]['wrk_id'] = $key->wrk_id;
$fetch[$key->wrk_id]['f_name'] = $key->f_name;
$fetch[$key->wrk_id]['l_name'] = $key->l_name;
$fetch[$key->wrk_id]['m_name'] = $key->m_name;
$fetch[$key->wrk_id]['total_days'] += $key->reg_hour + $key->adj_hour;
$fetch[$key->wrk_id]['total_allowance'] += $key->allowance;
}
return $fetch;
}