19 self::PART_FIELDS => [
'list' => []],
20 self::PART_FILTERS => [
'list' => []],
21 self::PART_ORDERS => [
'list' => []],
22 self::PART_CRITERIA_LIST => [
'list' => []],
38 if (!$this->mapperInterfaceName) {
41 'Missed Mapper Interface for Criteria Interface: %1',
61 if (is_array($field)) {
62 foreach ($field as $key =>
$value) {
118 if (isset($this->data[self::PART_FILTERS][
'list'][
$name])) {
119 throw new \Exception(
121 'Filter already exists in Criteria object: %1',
128 $filter[
'name'] =
$name;
129 $filter[
'field'] = $field;
130 $filter[
'condition'] = $condition;
131 $filter[
'type'] = strtolower(
$type);
143 public function addOrder($field, $direction = self::SORT_ORDER_DESC, $unShift =
false)
146 unset($this->data[self::PART_ORDERS][
'list'][$field]);
149 $orders = [$field => $direction];
150 foreach ($this->data[self::PART_ORDERS][
'list'] as $key => $dir) {
181 if (isset($this->data[self::PART_FIELDS][
'list'][$field])) {
182 unset($this->data[self::PART_FIELDS][
'list'][$field]);
185 foreach ($this->data[self::PART_FIELDS][
'list'] as $key =>
$value) {
187 unset($this->data[self::PART_FIELDS][
'list'][$key]);
212 if (isset($this->data[self::PART_FILTERS][
'list'][
$name])) {
213 unset($this->data[self::PART_FILTERS][
'list'][
$name]);
277 return $this->data[
$name] ?? $default;
298 self::PART_FIELDS => [
'list' => []],
299 self::PART_FILTERS => [
'list' => []],
300 self::PART_ORDERS => [
'list' => []],
301 self::PART_CRITERIA_LIST => [
'list' => []],
removeField($field, $isAlias=false)
addOrder($field, $direction=self::SORT_ORDER_DESC, $unShift=false)
addFilter($name, $field, $condition=null, $type='and')
addField($field, $alias=null)
getPart($name, $default=null)
if(!isset($_GET['name'])) $name