public function getRoundsByUser($userId, $courseSlug = null) { $rounds = Round::with('scores.hole', 'teeSet.teeType'); if ($courseSlug) { $rounds->with(['teeSet.course' => function ($query) use($courseSlug) { $query->where('courses.slug', '=', $courseSlug); }]); } else { $rounds->with('teeSet.course'); } return $rounds->where('user_id', '=', $userId)->orderBy('date', 'asc')->get(); }
public function getUserPaginatedFeed($userId, $perPage) { return Round::with('user', 'teeSet.course')->whereIn('user_id', function ($query) use($userId) { $query->select('follow_id')->from('user_follows')->where('user_id', $userId); })->orderBy('rounds.date', 'desc')->paginate($perPage); }