Класс Сравнение
Сравнение — это тип выражения запроса, представляющий операцию, включающую поле, оператор и значение. В наиболее распространённой форме строковое представление сравнения — 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.7/class-Cake.Database.Expression.Comparison.html