/** * @param Criteria $criteria * * @return IndexAction */ public function setCriteria(Criteria $criteria) { $filters = $criteria->getFilters(); $filters['owner'] = $this->user; $criteria = new Criteria($filters, $criteria->getCount(), $criteria->getPage(), $criteria->getOrderBy()); return parent::setCriteria($criteria); }
private function applyFilters(QueryBuilder $builder, Criteria $criteria) { foreach ($criteria->getFilters() as $field => $value) { $builder->andWhere('t.' . $field . ' = :' . $field); $builder->setParameter($field, $value); } }
/** * @param Criteria $criteria * * @return IndexAction */ public function setCriteria(Criteria $criteria) { $order = $this->orderRepository->findActive(); $filters = $criteria->getFilters(); $filters['order'] = $order; $criteria = new Criteria($filters, $criteria->getCount(), $criteria->getPage(), $criteria->getOrderBy()); return parent::setCriteria($criteria); }
public function findByCriteria(Criteria $criteria) { $builder = $this->createQueryBuilder('t'); $orderBy = $criteria->getOrderBy(); if (null !== $orderBy) { foreach ($orderBy as $field => $order) { $builder->addOrderBy('t.' . $field, $order); } } $builder->setMaxResults($criteria->getCount()); $offset = ($criteria->getPage() - 1) * $criteria->getCount(); $builder->setFirstResult($offset); $builder->andWhere('t.deletedAt IS NULL'); $query = $builder->getQuery(); return $query->execute(); }
/** * @param $filters * @param $count * @param $page * @param $orderBy */ public function __construct($filters, $count = null, $page = null, $orderBy = null) { parent::__construct($filters, $count, $page, $orderBy); }