/** * Get member and follower events * * @param string|array $status * * @return \Illuminate\Pagination\LengthAwarePaginator * * @throws \Exception */ public function getByMemberId($status) { $user_id = $this->getParam(1); if ($user_id === null) { throw new \Exception('Empty user ID'); } /** * Display my events */ if ($user_id == 'my') { $user_id = (int) \Auth::user()->id; } $get_events_ids = Members::where('user_id', $user_id); if (is_array($status)) { $get_events_ids = $get_events_ids->whereIn('status', $status); } else { $get_events_ids = $get_events_ids->where('status', $status); } $get_events_ids = $get_events_ids->get(); $ids = []; foreach ($get_events_ids as $event) { $ids[] = $event->getEventId(); } return Events::where('status', '<>', 'draft')->whereIn('id', $ids)->orderBy('created_at', 'desc')->paginate($this->on_page); }