Spaces:
No application file
No application file
namespace Mautic\PointBundle\Entity; | |
use Mautic\CoreBundle\Entity\CommonRepository; | |
/** | |
* @extends CommonRepository<Trigger> | |
*/ | |
class TriggerRepository extends CommonRepository | |
{ | |
public function getEntities(array $args = []) | |
{ | |
$q = $this->_em | |
->createQueryBuilder() | |
->select($this->getTableAlias().', cat') | |
->from(Trigger::class, $this->getTableAlias()) | |
->leftJoin($this->getTableAlias().'.category', 'cat') | |
->leftJoin($this->getTableAlias().'.group', 'pl'); | |
$args['qb'] = $q; | |
return parent::getEntities($args); | |
} | |
/** | |
* Get a list of published triggers with color and points. | |
* | |
* @return array | |
*/ | |
public function getTriggerColors() | |
{ | |
$q = $this->_em->createQueryBuilder() | |
->select('partial t.{id, color, points}') | |
->from(Trigger::class, 't', 't.id'); | |
$q->where($this->getPublishedByDateExpression($q)); | |
$q->orderBy('t.points', \Doctrine\Common\Collections\Criteria::ASC); | |
return $q->getQuery()->getArrayResult(); | |
} | |
public function getTableAlias(): string | |
{ | |
return 't'; | |
} | |
protected function addCatchAllWhereClause($q, $filter): array | |
{ | |
return $this->addStandardCatchAllWhereClause($q, $filter, [ | |
't.name', | |
't.description', | |
]); | |
} | |
protected function addSearchCommandWhereClause($q, $filter): array | |
{ | |
return $this->addStandardSearchCommandWhereClause($q, $filter); | |
} | |
/** | |
* @return string[] | |
*/ | |
public function getSearchCommands(): array | |
{ | |
return $this->getStandardSearchCommands(); | |
} | |
} | |