Сравнение классов
Сравнение — это тип выражения запроса, представляющий операцию, включающую поле, оператор и значение. В наиболее распространённом виде строковое представление сравнения — 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 - Объект генератора заменителей
Возвращаемое значение
строкаРеализация
Cake\Database\ExpressionInterface::sql() traverse()source public
traverse( callable $callable )
Рекурсивно проходит по каждой части выражения на каждом уровне дерева выражений и выполняет вызываемый объект $visitor, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент происходит итерация.
Параметры
- вызываемый объект
$callable - $visitor Вызываемый объект, который нужно применить ко всем узлам.
Реализация
Cake\Database\ExpressionInterface::traverse() Используемые методы из Cake\Database\Type\ExpressionTypeCasterTrait
_castToExpression()source protected
_castToExpression( mixed $value , string $type )
Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.
Параметры
- смешанный тип
$value - Значение, которое нужно преобразовать в ExpressionInterface
- строка
$type - Имя типа
Возвращаемое значение
смешанный тип_requiresToExpressionCasting()source protected
_requiresToExpressionCasting( array $types )
Возвращает массив с типами, которые требуют преобразования значений в выражения из списка имен типов, переданных в качестве параметра.
Параметры
- массив
$types - Список имен типов
Возвращаемое значение
массивИспользуемые методы из Cake\Database\Expression\FieldTrait
getField()source public
getField( )
Возвращает имя поля
Возвращаемое значение
строка|Cake\Database\ExpressionInterfacesetField()source public
setField( string|Cake\Database\ExpressionInterface $field )
Устанавливает имя поля
Параметры
- строка|
Cake\Database\ExpressionInterface$field - Поле для сравнения.
Подробное описание свойств
$_typesource
protected строка|массив
Тип, используемый для преобразования значения в представление базы данных
$_valuesource
protected смешанный тип
Значение, которое будет использоваться в правой части операции
$_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.6/class-Cake.Database.Expression.Comparison.html