コード例 #1
0
 /**
  * @param string      $operator
  * @param string      $value
  * @param string|null $locale
  * @param string|null $scope
  */
 protected function applyFilter($operator, $value, $locale = null, $scope = null)
 {
     $joinAlias = $this->getUniqueAlias('filterCompleteness');
     $field = $joinAlias . '.ratio';
     $util = new CompletenessJoin($this->qb);
     $util->addJoins($joinAlias, $locale, $scope);
     $this->qb->andWhere($this->prepareCriteriaCondition($field, $operator, $value));
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function addFieldSorter($field, $direction, $locale = null, $scope = null)
 {
     $alias = 'sorterCompleteness';
     $util = new CompletenessJoin($this->qb);
     $util->addJoins($alias, $locale, $scope);
     $this->qb->addOrderBy($alias . '.ratio', $direction);
     $idField = $this->qb->getRootAlias() . '.id';
     $this->qb->addOrderBy($idField);
     return $this;
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function addFieldFilter($field, $operator, $value, $locale = null, $scope = null, $options = [])
 {
     $this->checkValue($field, $value, $locale, $scope);
     $joinAlias = $this->getUniqueAlias('filterCompleteness');
     $field = $joinAlias . '.ratio';
     $util = new CompletenessJoin($this->qb);
     $util->addJoins($joinAlias, $locale, $scope);
     $this->qb->andWhere($this->prepareCriteriaCondition($field, $operator, $value));
     return $this;
 }
コード例 #4
0
 /**
  * {@inheritdoc}
  */
 public function apply(DatasourceInterface $datasource, DatagridConfiguration $configuration)
 {
     $qb = $datasource->getQueryBuilder();
     $joinAlias = 'selectCompleteness';
     $util = new CompletenessJoin($qb);
     $locale = $configuration->offsetGetByPath('[source][locale_code]');
     $scope = $configuration->offsetGetByPath('[source][scope_code]');
     $util->addJoins($joinAlias, $locale, $scope);
     $qb->addSelect($joinAlias . '.ratio AS ratio');
 }