getData() : []) as $field => $value) { if (!($value ?? false)) { continue; } if (is_callable($value)) { $qb->andWhere($value); } if (is_array($value)) { $qb->andWhere(Operator::inStringArray($value, $field)); } if ($value instanceof DateFilterInput) { $qb->andWhere(ApiUtil::getDateTimeFilter($value, $field)); } if (is_string($value) || is_numeric($value)) { $qb->andWhere(Operator::equals([$field => $value])); } } foreach ((!empty($inputSort) ? $inputSort->getData() : []) as $key => $value) { if ($value ?? false) { $qb->addOrderBy($key, $value->value); } } $qb->andWhere(ApiQuery::limit($limit, $offset)); } }