Newscoop\CommunityTickerBundle\Entity\Repository\CommunityTickerEventRepository::getListByCriteria PHP Метод

getListByCriteria() публичный Метод

Get list for given criteria
public getListByCriteria ( ListCriteria $criteria ) : ListResult
$criteria Newscoop\CommunityTickerBundle\TemplateList\ListCriteria
Результат Newscoop\ListResult
    public function getListByCriteria(ListCriteria $criteria)
    {
        $qb = $this->createQueryBuilder('ct');
        $qb->andWhere('ct.is_active = :is_active')->setParameter('is_active', true);
        foreach ($criteria->perametersOperators as $key => $operator) {
            $qb->andWhere('ct.' . $key . ' = :' . $key)->setParameter($key, $criteria->{$key});
        }
        $list = new ListResult();
        $countBuilder = clone $qb;
        $list->count = (int) $countBuilder->select('COUNT(ct)')->getQuery()->getSingleScalarResult();
        if ($criteria->length != 0) {
            $qb->setMaxResults($criteria->length);
        }
        $metadata = $this->getClassMetadata();
        foreach ($criteria->orderBy as $key => $order) {
            if (array_key_exists($key, $metadata->columnNames)) {
                $key = 'ct.' . $key;
            }
            $qb->orderBy($key, $order);
        }
        $list->items = $qb->getQuery()->getResult();
        return $list;
    }
CommunityTickerEventRepository