public function listEvents() { /** @var Collection $events */ switch ($this->property('listType')) { case self::NEW_EVENTS: $events = EventModel::latest()->limit(5)->get(); break; case self::POPULAR_EVENTS: $events = EventModel::popular()->limit(5)->get(); break; case self::UPDATED_EVENTS: $events = EventModel::recentUpdates()->limit(5)->get(); break; default: return []; } // Add url $events->each(function (EventModel $event) { $event->setUrl($this->eventPage, $this->controller); }); return $events; }