31 public function mapCriteriaList(array $criteriaList)
33 foreach ($criteriaList as $criteria) {
35 $mapper = $criteria->getMapperInterfaceName();
36 $mapperInstance = $this->mapperFactory->create($mapper, [
'select' => $this->select]);
37 $this->select = $mapperInstance->map($criteria);
50 foreach ($filters as $filter) {
51 switch ($filter[
'type']) {
53 $condition = $this->
getConnection()->quoteInto($filter[
'field'] .
'=?', $filter[
'condition']);
57 $this->
getSelect()->where($filter[
'condition']);
61 $condition = $filter[
'condition'];
65 $condition = $this->
getConnection()->quoteInto($filter[
'field'] .
'=?', $filter[
'condition']);
79 foreach (
$orders as $field => $direction) {
80 $this->select->order(
new \
Zend_Db_Expr($field .
' ' . $direction));
95 $selectedUniqueNames = [];
96 foreach (
$fields as $fieldInfo) {
97 if (is_string($fieldInfo)) {
98 $fieldInfo = isset($this->
map[$fieldInfo]) ? $this->
map[$fieldInfo] : $fieldInfo;
100 list($correlationName, $field,
$alias) = $fieldInfo;
105 $field = $field->__toString();
107 $selectedUniqueName =
$alias ?: $field;
108 if (in_array($selectedUniqueName, $selectedUniqueNames)) {
112 $selectedUniqueNames[] = $selectedUniqueName;
127 $this->select->limitPage($offset, $size);
138 $this->select->distinct($flag);
map(CriteriaInterface $criteria)
getConditionSql($fieldName, $condition)
mapFilters(array $filters)