Bitrix-D7
23.9
Загрузка...
Поиск...
Не найдено
condition.php
1
<?php
9
namespace
Bitrix\Main\ORM\Query\Filter
;
10
use
Bitrix\Main\ORM\Fields\Field
;
11
use
Bitrix\Main\ORM\Query\Filter\Expressions\Expression
as FilterExpression;
12
use
Bitrix\Main\ORM\Query\Filter\Expressions\ColumnExpression
;
13
20
class
Condition
21
{
23
protected
$column
;
24
26
protected
$operator
;
27
29
protected
$value
;
30
38
public
function
__construct
(
$column
,
$operator
,
$value
)
39
{
40
$this->column =
$column
;
41
$this->
operator
=
$operator
;
42
$this->value =
$value
;
43
}
44
48
public
function
getColumn
()
49
{
50
return
$this->column
;
51
}
52
56
public
function
setColumn
(
$column
)
57
{
58
$this->column =
$column
;
59
}
60
64
public
function
getOperator
()
65
{
66
return
$this->operator
;
67
}
68
72
public
function
setOperator
(
$operator
)
73
{
74
$this->
operator
=
$operator
;
75
}
76
80
public
function
getValue
()
81
{
82
return
$this->value
;
83
}
84
88
public
function
setValue
(
$value
)
89
{
90
$this->value =
$value
;
91
}
92
105
public
function
getAtomicValues
()
106
{
107
if
($this->
hasMultiValues
())
108
{
109
return
$this->value
;
110
}
111
112
return
array($this->value);
113
}
114
120
public
function
hasMultiValues
()
121
{
122
return
in_array($this->
operator
, array(
'in'
,
'between'
),
true
) && is_array($this->value);
123
}
124
128
public
function
getDefinition
()
129
{
130
return
$this->
getColumn
();
131
}
132
136
public
function
setDefinition
($definition)
137
{
138
$this->
setColumn
($definition);
139
}
140
141
public
function
__clone
()
142
{
143
// clone value if there any filter expressions
144
$newValues = array();
145
146
foreach
($this->
getAtomicValues
() as $atomicValue)
147
{
148
$newValues[] = ($atomicValue instanceof FilterExpression) ? clone $atomicValue : $atomicValue;
149
}
150
151
$this->value = $this->
hasMultiValues
() ? $newValues : $newValues[0];
152
153
// clone field
154
if
($this->column instanceof
Field
)
155
{
156
$this->column = clone
$this->column
;
157
}
158
}
159
}
Bitrix\Main\ORM\Fields\Field
Definition
field.php:25
Bitrix\Main\ORM\Query\Filter\Condition
Definition
condition.php:21
Bitrix\Main\ORM\Query\Filter\Condition\$value
$value
Definition
condition.php:29
Bitrix\Main\ORM\Query\Filter\Condition\setColumn
setColumn($column)
Definition
condition.php:56
Bitrix\Main\ORM\Query\Filter\Condition\__construct
__construct($column, $operator, $value)
Definition
condition.php:38
Bitrix\Main\ORM\Query\Filter\Condition\$operator
$operator
Definition
condition.php:26
Bitrix\Main\ORM\Query\Filter\Condition\$column
$column
Definition
condition.php:23
Bitrix\Main\ORM\Query\Filter\Condition\setDefinition
setDefinition($definition)
Definition
condition.php:136
Bitrix\Main\ORM\Query\Filter\Condition\getColumn
getColumn()
Definition
condition.php:48
Bitrix\Main\ORM\Query\Filter\Condition\setValue
setValue($value)
Definition
condition.php:88
Bitrix\Main\ORM\Query\Filter\Condition\hasMultiValues
hasMultiValues()
Definition
condition.php:120
Bitrix\Main\ORM\Query\Filter\Condition\getValue
getValue()
Definition
condition.php:80
Bitrix\Main\ORM\Query\Filter\Condition\getAtomicValues
getAtomicValues()
Definition
condition.php:105
Bitrix\Main\ORM\Query\Filter\Condition\__clone
__clone()
Definition
condition.php:141
Bitrix\Main\ORM\Query\Filter\Condition\getDefinition
getDefinition()
Definition
condition.php:128
Bitrix\Main\ORM\Query\Filter\Condition\getOperator
getOperator()
Definition
condition.php:64
Bitrix\Main\ORM\Query\Filter\Condition\setOperator
setOperator($operator)
Definition
condition.php:72
Bitrix\Main\ORM\Query\Filter\Expressions\ColumnExpression
Definition
columnexpression.php:17
Bitrix\Main\ORM\Query\Filter\Expressions\Expression
Definition
expression.php:17
Bitrix\Main\ORM\Query\Filter
Definition
condition.php:9
modules
main
lib
orm
query
filter
condition.php
Создано системой
1.10.0