Example #1
0
 /**
  * {@inheritdoc}
  */
 public function addIdentifiersToQuery($class, ProxyQueryInterface $queryProxy, array $idx)
 {
     $fieldNames = $this->getIdentifierFieldNames($class);
     $qb = $queryProxy->getQueryBuilder();
     $prefix = uniqid();
     $sqls = array();
     foreach ($idx as $pos => $id) {
         $ids = explode(self::ID_SEPARATOR, $id);
         $ands = array();
         foreach ($fieldNames as $posName => $name) {
             $parameterName = sprintf('field_%s_%s_%d', $prefix, $name, $pos);
             $ands[] = sprintf('%s.%s = :%s', $qb->getRootAlias(), $name, $parameterName);
             $qb->setParameter($parameterName, $ids[$posName]);
         }
         $sqls[] = implode(' AND ', $ands);
     }
     $qb->andWhere(sprintf('( %s )', implode(' OR ', $sqls)));
 }
 /**
  * {@inheritdoc}
  */
 public function addIdentifiersToQuery($class, ProxyQueryInterface $queryProxy, array $idx)
 {
     $queryBuilder = $queryProxy->getQueryBuilder();
     $queryBuilder->field('_id')->in($idx);
 }
 /**
  * {@inheritDoc}
  */
 public function addIdentifiersToQuery($class, ProxyQueryInterface $queryProxy, array $idx)
 {
     /** @var $queryProxy ProxyQuery */
     $qb = $queryProxy->getQueryBuilder();
     $orX = $qb->andWhere()->orX();
     foreach ($idx as $id) {
         $path = $this->getBackendId($id);
         $orX->same($path, $queryProxy->getAlias());
     }
 }
 public function callbackMethod(ProxyQueryInterface $proxyQuery, $alias, $field, $data)
 {
     $queryBuilder = $proxyQuery->getQueryBuilder();
     $queryBuilder->andWhere()->eq()->field('a.' . $field)->literal($data['value']);
     return true;
 }