Класс Сравнение
Сравнение — это тип выражения запроса, представляющий операцию, включающую поле, оператор и значение. В его наиболее распространённой форме строковое представление сравнения — field = value
- Cake\Database\Expression\Comparison реализует Cake\Database\ExpressionInterface, Cake\Database\Expression\FieldInterface использует Cake\Database\Type\ExpressionTypeCasterTrait , Cake\Database\Expression\FieldTrait
Прямые подклассы
Краткое описание свойств
-
$_isMultipleprotectedЯвляется ли значение в этом выражении итерируемымboolean -
$_operatorprotectedОператор, используемый для сравнения поля и значенияstring -
$_typeprotectedТип, используемый для преобразования значения в представление базы данныхstring|array -
$_valueprotectedЗначение, используемое в правой части операцииmixed -
$_valueExpressionsprotectedКэшированный список объектов ExpressionInterface, найденных в значении для данного выражения.
Унаследованные свойства
Краткое описание методов
- __clone() publicСоздать глубокую копию.
- __construct() publicКонструктор
- _bindValue() protectedРегистрирует значение в генераторе заменителей и возвращает сгенерированный заполнитель
- _collectExpressions() protected
Возвращает массив с исходными $values в первой позиции и всеми объектами ExpressionInterface, которые можно было найти во второй позиции.
- _flattenValue() protected
Преобразует итерируемое значение в набор заменителей, сгенерированных $generator, и разделяет их
, - _stringExpression() protected
Возвращает шаблон и заполнитель для значения после его регистрации в $generator
- getOperator() publicВозвращает оператор, используемый для сравнения
- getValue() publicВозвращает значение, используемое для сравнения
- setOperator() publicУстанавливает оператор для сравнения
- setValue() publicУстанавливает значение
- sql() publicПреобразует выражение в фрагмент SQL.
- traverse() public
Итерирует по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызов $visitor, передавая в качестве первого параметра экземпляр выражения, который в настоящее время итерируется.
Подробное описание методов
__clone()source public
__clone( )
Создать глубокую копию.
Копирует поле и значение, если они являются объектами выражения.
__construct()source public
__construct( string|Cake\Database\ExpressionInterface $field , mixed $value , string $type , string $operator )
Конструктор
Параметры
- string|
Cake\Database\ExpressionInterface$field - имя поля для сравнения со значением
- mixed
$value - Значение, используемое для сравнения
- string
$type - имя типа для преобразования значения
- string
$operator - оператор, используемый для сравнения поля и значения
_bindValue()source protected
_bindValue( mixed $value , Cake\Database\ValueBinder $generator , string $type )
Регистрирует значение в генераторе заменителей и возвращает сгенерированный заполнитель
Параметры
- mixed
$value - Значение для привязки
- Cake\Database\ValueBinder
$generator - Используемый связыватель значений
- string
$type - Тип $value
Возвращает
stringсгенерированный заполнитель
_collectExpressions()source protected
_collectExpressions( array|Traversable $values )
Возвращает массив с исходными $values в первой позиции и всеми объектами ExpressionInterface, которые можно было найти во второй позиции.
Параметры
- array|Traversable
$values - Строки для вставки
Возвращает
array_flattenValue()source protected
_flattenValue( array|Traversable $value , Cake\Database\ValueBinder $generator , string|array|null $type = 'string' )
Преобразует итерируемое значение в набор заменителей, сгенерированных $generator, и разделяет их ,
Параметры
- array|Traversable
$value - значение для сплющивания
- Cake\Database\ValueBinder
$generator - Используемый связыватель значений
- string|array|null
$typeoptional 'string' - тип для преобразования значений
Возвращает
string_stringExpression()source protected
_stringExpression( Cake\Database\ValueBinder $generator )
Возвращает шаблон и заполнитель для значения после его регистрации в $generator
Параметры
- Cake\Database\ValueBinder
$generator - Используемый связыватель значений.
Возвращает
arrayПервая позиция содержит шаблон, вторая — заполнитель
getOperator()source public
getOperator( )
Возвращает оператор, используемый для сравнения
Возвращает
stringgetValue()source public
getValue( )
Возвращает значение, используемое для сравнения
Возвращает
mixedsetOperator()source public
setOperator( string $operator )
Устанавливает оператор для сравнения
Параметры
- string
$operator - Оператор, используемый для сравнения.
setValue()source public
setValue( mixed $value )
Устанавливает значение
Параметры
- mixed
$value - Значение для сравнения
sql()source public
sql( Cake\Database\ValueBinder $generator )
Преобразует выражение в фрагмент SQL.
Параметры
- Cake\Database\ValueBinder
$generator - Объект генератора заменителей
Возвращает
stringРеализация
Cake\Database\ExpressionInterface::sql() traverse()source public
traverse( callable $callable )
Рекурсивно перебирает каждую часть выражения на каждом уровне дерева выражений и выполняет вызываемый объект $visitor, передавая в качестве первого параметра экземпляр выражения, который в данный момент итерируется.
Параметры
- callable
$callable - $visitor Вызываемый объект, который применяется ко всем узлам.
Реализация
Cake\Database\ExpressionInterface::traverse() Методы, используемые из Cake\Database\Type\ExpressionTypeCasterTrait
_castToExpression()source protected
_castToExpression( mixed $value , string $type )
Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует интерфейс ExpressionTypeInterface. В противном случае возвращает значение без изменений.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в ExpressionInterface
- string
$type - Имя типа
Возвращает
mixed_requiresToExpressionCasting()source protected
_requiresToExpressionCasting( array $types )
Возвращает массив с типами, для которых значения необходимо преобразовать в выражения, из списка имен типов, переданных в качестве параметра.
Параметры
- array
$types - Список имен типов
Возвращает
arrayМетоды, используемые из Cake\Database\Expression\FieldTrait
getField()source public
getField( )
Возвращает имя поля
Возвращает
string|Cake\Database\ExpressionInterfacesetField()source public
setField( string|Cake\Database\ExpressionInterface $field )
Устанавливает имя поля
Параметры
- string|
Cake\Database\ExpressionInterface$field - Поле для сравнения.
Подробности свойств
$_typesource
protected string|array
Тип, используемый для преобразования значения в представление базы данных
$_valueExpressionssource
protected Cake\Database\ExpressionInterface[]
Кэшированный список объектов ExpressionInterface, которые были найдены в значении для этого выражения.
[]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Database.Expression.Comparison.html