type === "active") { return $this->getActiveUserMonitors(); } elseif ($this->type === "complete") { return $this->getCompleteUserMonitors(); } return []; } #[LiveAction] public function getActiveUserMonitors() { return $this->asPaginator($this->monitorRepository->createQueryBuilder('m') ->andWhere('m.status IN (:statuses)') ->andWhere('(m.title LIKE :term OR m.imdbId LIKE :term OR m.monitorType LIKE :term OR m.status LIKE :term)') ->setParameter('statuses', ['New', 'In Progress', 'Active']) ->setParameter('term', '%'.$this->term.'%') ->orderBy('m.id', 'DESC') ->getQuery() ); } #[LiveAction] public function getCompleteUserMonitors() { return $this->asPaginator($this->monitorRepository->createQueryBuilder('m') ->andWhere('m.status = :status') ->andWhere('(m.title LIKE :term OR m.imdbId LIKE :term OR m.monitorType LIKE :term OR m.status LIKE :term)') ->setParameter('status', 'Complete') ->setParameter('term', '%'.$this->term.'%') ->orderBy('m.id', 'DESC') ->getQuery() ); } }