Spaces:
No application file
No application file
| namespace MauticPlugin\MauticFocusBundle\Entity; | |
| use Mautic\CoreBundle\Entity\CommonRepository; | |
| /** | |
| * @extends CommonRepository<Focus> | |
| */ | |
| class FocusRepository extends CommonRepository | |
| { | |
| /** | |
| * @return array | |
| */ | |
| public function findByForm($formId) | |
| { | |
| return $this->findBy( | |
| [ | |
| 'form' => (int) $formId, | |
| ] | |
| ); | |
| } | |
| public function getEntities(array $args = []) | |
| { | |
| $alias = $this->getTableAlias(); | |
| $q = $this->_em | |
| ->createQueryBuilder() | |
| ->select($alias) | |
| ->from(Focus::class, $alias, $alias.'.id'); | |
| if (empty($args['iterator_mode']) && empty($args['iterable_mode'])) { | |
| $q->leftJoin($alias.'.category', 'c'); | |
| } | |
| $args['qb'] = $q; | |
| return parent::getEntities($args); | |
| } | |
| /** | |
| * @param \Doctrine\ORM\QueryBuilder|\Doctrine\DBAL\Query\QueryBuilder $q | |
| */ | |
| protected function addCatchAllWhereClause($q, $filter): array | |
| { | |
| return $this->addStandardCatchAllWhereClause($q, $filter, ['f.name', 'f.website']); | |
| } | |
| /** | |
| * @param \Doctrine\ORM\QueryBuilder|\Doctrine\DBAL\Query\QueryBuilder $q | |
| */ | |
| protected function addSearchCommandWhereClause($q, $filter): array | |
| { | |
| return $this->addStandardSearchCommandWhereClause($q, $filter); | |
| } | |
| /** | |
| * @return string[] | |
| */ | |
| public function getSearchCommands(): array | |
| { | |
| return $this->getStandardSearchCommands(); | |
| } | |
| /** | |
| * @return array<array<string>> | |
| */ | |
| protected function getDefaultOrder(): array | |
| { | |
| return [ | |
| [$this->getTableAlias().'.name', 'ASC'], | |
| ]; | |
| } | |
| public function getTableAlias(): string | |
| { | |
| return 'f'; | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getFocusList($currentId) | |
| { | |
| $q = $this->createQueryBuilder('f'); | |
| $q->select('partial f.{id, name, description}')->orderBy('f.name'); | |
| return $q->getQuery()->getArrayResult(); | |
| } | |
| } | |