events() ->whereNotNull('published_at') ->where('published_at', '<=', now()); if ($term !== '') { $query->where(function ($query) use ($term): void { $query->where('title', 'like', '%'.$term.'%') ->orWhere('subtitle', 'like', '%'.$term.'%') ->orWhere('location', 'like', '%'.$term.'%'); }); } return $query->with('attachment')->orderByDesc('published_at')->orderByDesc('id')->paginate(15, ['*'], 'page', $page); } public function find(Tenant $tenant, Event $event): Event { abort_unless($event->tenant_code === $tenant->codigo && $event->published_at !== null && $event->published_at->isPast(), 404); return $event->load('attachment'); } }