Spaces:
No application file
No application file
| namespace Mautic\PluginBundle\Entity; | |
| use Mautic\CoreBundle\Entity\CommonRepository; | |
| /** | |
| * @extends CommonRepository<Plugin> | |
| */ | |
| class PluginRepository extends CommonRepository | |
| { | |
| /** | |
| * Find an addon record by bundle name. | |
| * | |
| * @param string $bundle | |
| * | |
| * @return mixed | |
| * | |
| * @throws \Doctrine\ORM\NonUniqueResultException | |
| */ | |
| public function findByBundle($bundle) | |
| { | |
| $q = $this->createQueryBuilder($this->getTableAlias()); | |
| $q->where($q->expr()->eq('p.bundle', ':bundle')) | |
| ->setParameter('bundle', $bundle); | |
| return $q->getQuery()->getOneOrNullResult(); | |
| } | |
| public function getEntities(array $args = []) | |
| { | |
| $q = $this->_em->createQueryBuilder(); | |
| $q->select($this->getTableAlias()) | |
| ->from(Plugin::class, $this->getTableAlias(), (!empty($args['index'])) ? $this->getTableAlias().'.'.$args['index'] : $this->getTableAlias().'.id'); | |
| $args['qb'] = $q; | |
| $args['ignore_paginator'] = true; | |
| return parent::getEntities($args); | |
| } | |
| protected function getDefaultOrder(): array | |
| { | |
| return [ | |
| ['p.name', 'ASC'], | |
| ]; | |
| } | |
| public function getTableAlias(): string | |
| { | |
| return 'p'; | |
| } | |
| } | |