public static function freeBusy($user_id, $start_date, $end_date) { $tokens = GoogleUser::select('id', 'googleAccessToken')->with(['calendars' => function ($q) { $q->select('user_id', 'calendar_id'); }])->where('user_id', '=', $user_id)->get(); $free_busy_requests = []; foreach ($tokens as $token) { $calendars = $token->calendars->pluck('calendar_id'); $free_busy_requests = array_merge($free_busy_requests, self::freeBusyRequest($token->id, $token->googleAccessToken, $calendars, $start_date, $end_date)); } return $free_busy_requests; }