public static function shifts($user_id, $company_id, $start, $end) { $arr = []; $rosters = Roster::whereHas('users', function ($q) use($user_id) { $q->where('users.id', $user_id)->where('roster_user.status', '=', 'accepted'); })->whereBetween('start_time', [$start, $end])->where('company_id', $company_id)->get(); foreach ($rosters as $roster) { $roster_pivot = $roster->users()->where('users.id', $user_id)->first()->pivot; //return var_dump(Roster::payment($roster->id, $user_id, $company_id)); $amount = Roster::payment($roster->id, $user_id, $company_id)['payment']; array_push($arr, ['start' => $roster->start_time, 'end' => $roster->end_time, 'real_start' => $roster_pivot->real_start_time, 'real_end' => $roster_pivot->real_end_time, 'amount' => $amount, 'id' => $roster->id, 'address' => $roster->address]); } return $arr; }