Сравнение классов
Сравнение — это тип выражения запроса, представляющий операцию, включающую поле, оператор и значение. В наиболее распространённой форме строковое представление сравнения — 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 строка|массив
Тип, используемый для преобразования значения в представление базы данных
$_valueExpressionssource
protected Cake\Database\ExpressionInterface[]
Кэшированный список объектов ExpressionInterface, которые были найдены в значении для этого выражения.
[]
© 2005–2017 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.4/class-Cake.Database.Expression.Comparison.html