Spec-Zone.ru › CakePHP 3.7

Класс OrderByExpression

Объект выражения для положений ORDER BY

Cake\Database\Expression\QueryExpression implements Cake\Database\ExpressionInterface, Countable использует Cake\Database\TypeMapTrait
Extended by Cake\Database\Expression\OrderByExpression
Пространство имён: Cake\Database\Expression
Расположение: Database/Expression/OrderByExpression.php

Унаследованные свойства

  • _conditions, _conjunction _typeMap

Краткое описание методов

  • __construct() public
    Конструктор
  • _addConditions() protected

    Вспомогательная функция, используемая для разложения вложенного массива условий и построения структуры дерева внутри этого объекта для представления полного SQL-выражения.

  • sql() public
    Преобразование выражения в фрагмент SQL.

Подробное описание методов

__construct()source public

__construct( string|array|Cake\Database\ExpressionInterface $conditions = [] , array|Cake\Database\TypeMap $types = [] , string $conjunction = '' )

Конструктор

Параметры

string|array|Cake\Database\ExpressionInterface $conditions необязательно []
Столбцы сортировки
array|Cake\Database\TypeMap $types необязательно []
Типы для каждого столбца.
string $conjunction необязательно ''
Разделитель, используемый для объединения условий.

Переопределяет

Cake\Database\Expression\QueryExpression::__construct()

_addConditions()source protected

_addConditions( array $orders , array $types )

Вспомогательная функция, используемая для разложения вложенного массива условий и построения структуры дерева внутри этого объекта для представления полного SQL-выражения.

Новые выражения order by объединяются с существующими.

Параметры

array $orders
Список выражений order by
array $types
Список типов, связанных с полями, указанными в $conditions

Переопределяет

Cake\Database\Expression\QueryExpression::_addConditions()

sql()source public

sql( Cake\Database\ValueBinder $generator )

Преобразование выражения в фрагмент SQL.

Параметры

Cake\Database\ValueBinder $generator
Объект генератора заменителей

Возвращает

string

Переопределяет

Cake\Database\Expression\QueryExpression::sql()

Методы, унаследованные от Cake\Database\Expression\QueryExpression

__call()source public

__call( string $method , array $args )

Помогает вызывать методы and() и or() прозрачно.

Параметры

string $method
Имя метода.
array $args
Аргументы для передачи методу.

Возвращает

Cake\Database\Expression\QueryExpression

Выбрасывает

BadMethodCallException

__clone()source public

__clone( )

Клонирование этого объекта и его поддерева выражений.

_calculateType()source protected

_calculateType( string|Cake\Database\Expression\IdentifierExpression $field )

Возвращает имя типа для переданного поля, если оно было сохранено в typeMap.

Параметры

string|Cake\Database\Expression\IdentifierExpression $field
Имя поля, для которого нужно получить тип.

Возвращает

string|null
Вычисленный тип или null, если тип неизвестен.

_parseCondition()source protected

_parseCondition( string $field , mixed $value )

Парсит строковые условия, пытаясь извлечь оператор внутри, если он есть, и, наконец, возвращает либо соответствующий объект QueryExpression, либо просто строковое представление условия. Эта функция отвечает за генерацию заменителей и замену значений ими, сохраняя значение в другом месте для последующего связывания.

Параметры

string $field

Значение, из которого будет извлечено фактическое поле и оператор.

mixed $value
Значение, которое должно быть привязано к заполнению для поля

Возвращает

string|Cake\Database\ExpressionInterface

add()source public

add( string|array|Cake\Database\ExpressionInterface $conditions , array $types = [] )

Добавляет одно или несколько условий к этому объекту выражения. Условия могут быть выражены в одномерном массиве, что приведет к добавлению всех условий непосредственно на этом уровне дерева, или они могут быть произвольно вложены, заставляя создавать больше объектов выражений, которые будут вложены внутри и настроены на использование указанного союза.

Если тип, переданный для любого из полей, выражен как "type[]" (обратите внимание на фигурные скобки), это приведет к динамической переписыванию заполнителя, так что если значение является массивом, он создаст столько же заполнителей, сколько значений в нем.

Параметры

string|array|Cake\Database\ExpressionInterface $conditions

одно или несколько условий для добавления. При использовании массива и ключевое слово 'OR' или 'AND' будет создан новый объект выражения с этим союзом и значением внутреннего массива, переданным в качестве условий.

array $types необязательно []

ассоциативный массив полей, указывающих на тип значений, которые передаются. Используется для правильной привязки значений к операторам.

Возвращает


$this

См. также

\Cake\Database\Query::where() для примеров условий

addCase()source public

addCase( array|Cake\Database\ExpressionInterface $conditions , array|Cake\Database\ExpressionInterface $values = [] , array $types = [] )

Добавляет новое выражение case в объект выражения

Параметры

array|Cake\Database\ExpressionInterface $conditions

Условие для проверки. Должен быть экземпляром ExpressionInterface или массивом экземпляров ExpressionInterface.

array|Cake\Database\ExpressionInterface $values необязательно []

ассоциативный массив значений, которые должны быть связаны с условиями, переданными в $conditions. Если значений $values больше, чем условий $conditions, последнее $value используется в качестве значения ELSE

array $types необязательно []

ассоциативный массив типов, которые должны быть связаны со значениями, переданными в $values

Возвращает


$this

and_()source public

and_( callable|string|array|Cake\Database\ExpressionInterface $conditions , array $types = [] )

Возвращает новый объект QueryExpression, содержащий все переданные условия и устанавливает сопряжение в "И"

Параметры

callable|string|array|Cake\Database\ExpressionInterface $conditions
для объединения с AND
array $types необязательно []

ассоциативный массив полей, указывающих на тип значений, которые передаются. Используется для правильной привязки значений к операторам.

Возвращает

Cake\Database\Expression\QueryExpression

between()source public

between( string|Cake\Database\ExpressionInterface $field , mixed $from , mixed $to , string|null $type = null )

Добавляет новое условие в объект выражения в виде "поле МЕЖДУ от И до".

Параметры

string|Cake\Database\ExpressionInterface $field
Имя поля для сравнения значений в диапазоне.
mixed $from
Начальное значение диапазона.
mixed $to
Конечное значение в диапазоне сравнения.
string|null $type необязательно null
имя типа для $value, как настроено с помощью Type map.

Возвращает


$this
END_OF_DOCUMENT_MARKER

count()source public

count( )

Возвращает количество внутренних условий, хранящихся в этом выражении. Полезно для определения, является ли этот объект выражения пустым или он сгенерирует непустую строку при компиляции.

Возвращает

целое число

Реализация

Countable::count()

eq()source public

eq( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле = значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
смешанное $value
Значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null

имя типа для $value, как настроено с помощью карты типов. Если оно суффикс "[]" и значение является массивом, то будет создано несколько заменителей, по одному на каждое значение в массиве.

Возвращает


$this

equalFields()source public

equalFields( string $left , string $right )

Создает условие равенства или присваивания с оболочкой идентификатора.

Параметры

строка $left
Имя поля условия левого соединения.
строка $right
Имя поля условия правого соединения.

Возвращает


$this

exists()source public

exists( Cake\Database\ExpressionInterface $query )

Добавляет новое условие к объекту выражения в форме "EXISTS (...)".

Параметры

Cake\Database\ExpressionInterface $query
вложенный запрос

Возвращает


$this

getConjunction()source public

getConjunction( )

Получает текущую конфигурацию союза для условий на этом уровне дерева выражений.

Возвращает

строка

gt()source public

gt( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле > значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
смешанное $value
Значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this

gte()source public

gte( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле >= значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
смешанное $value
Значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this

hasNestedExpression()source public

hasNestedExpression( )

Возвращает true, если это выражение содержит другие вложенные объекты ExpressionInterface.

Возвращает

логическое значение

in()source public

in( string|Cake\Database\ExpressionInterface $field , string|array $values , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле IN (значение1, значение2)".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
строка|массив $values
значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this

isCallable()source public

isCallable( callable $c )

Проверяет, является ли вызываемый объект приемлемым.

Мы не принимаем вызовы типа ['класс', 'метод'], так как они часто содержат пользовательский ввод, а массивы строк легко подсунуть.

Параметры

вызываемый объект $c
Вызываемый объект для проверки.

Возвращает

логическое значение
Допустимый вызываемый объект.

isNotNull()source public

isNotNull( string|Cake\Database\ExpressionInterface $field )

Добавляет новое условие к объекту выражения в форме "поле НЕ NULL".

Параметры

строка|Cake\Database\ExpressionInterface $field

поле базы данных, которое проверяется на непустоту

Возвращает


$this

isNull()source public

isNull( string|Cake\Database\ExpressionInterface $field )

Добавляет новое условие к объекту выражения в форме "поле IS NULL".

Параметры

строка|Cake\Database\ExpressionInterface $field

поле базы данных, проверяемое на пустоту

Возвращает


$this

iterateParts()source public

iterateParts( callable $callable )

Выполняет функцию вызова для каждой из частей, составляющих это выражение.

Функция вызова должна вернуть значение, с которым будет заменена текущая посещаемая часть. Если функция вызова возвращает null, то часть будет полностью удалена из этого выражения.

Функция обратного вызова получит каждое из условий в качестве первого параметра и ключ как второй параметр. Можно объявить второй параметр как передаваемый по ссылке, это позволит изменить ключ, под которым хранится изменённая часть.

Параметры

вызываемый объект $callable
Вызываемый объект, который необходимо применить к каждой части.

Возвращает


$this

like()source public

like( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле LIKE значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
смешанное $value
Значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this

lt()source public

lt( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в форме "поле < значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Поле базы данных, которое будет сравниваться со значением
смешанное $value
Значение, которое будет привязано к $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this
END_OF_DOCUMENT_MARKER

lte()source public

lte( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в виде "поле <= значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Базовое поле, которое сравнивается со значением
смешанное $value
Значение, которое должно быть связано с $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью Type map.

Возвращаемое значение


$this

not()source public

not( string|array|Cake\Database\ExpressionInterface $conditions , array $types = [] )

Добавляет новый набор условий на этом уровне дерева и отрицает окончательный результат, добавив NOT, это будет выглядеть как "NOT ( (условие1) AND (условия2) )", конъюнкция зависит от текущей, настроенной для этого объекта.

Параметры

строка|массив|Cake\Database\ExpressionInterface $conditions
для добавления и отрицания
массив $types необязательно []

ассоциативный массив полей, указывающий на тип значений, которые передаются. Используется для правильной привязки значений к операторам.

Возвращаемое значение


$this

notEq()source public

notEq( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в виде "поле != значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Базовое поле, которое сравнивается со значением
смешанное $value
Значение, которое должно быть связано с $field для сравнения
строка|null $type необязательно null

имя типа для $value, как настроено с помощью Type map. Если оно заканчивается на "[]" и значение является массивом, то будет создано несколько заглушек, по одной для каждого значения в массиве.

Возвращаемое значение


$this

notExists()source public

notExists( Cake\Database\ExpressionInterface $query )

Добавляет новое условие к объекту выражения в виде "НЕ СУЩЕСТВУЕТ (...)".

Параметры

Cake\Database\ExpressionInterface $query
внутренний запрос

Возвращаемое значение


$this

notIn()source public

notIn( string|Cake\Database\ExpressionInterface $field , array $values , string|null $type = null )

Добавляет новое условие к объекту выражения в виде "поле НЕ В (значение1, значение2)".

Параметры

строка|Cake\Database\ExpressionInterface $field
Базовое поле, которое сравнивается со значением
массив $values
значение, которое должно быть связано с $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью Type map.

Возвращаемое значение


$this

notLike()source public

notLike( string|Cake\Database\ExpressionInterface $field , mixed $value , string|null $type = null )

Добавляет новое условие к объекту выражения в виде "поле НЕ ПОДОБНО значение".

Параметры

строка|Cake\Database\ExpressionInterface $field
Базовое поле, которое сравнивается со значением
смешанное $value
Значение, которое должно быть связано с $field для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью Type map.

Возвращаемое значение


$this

or_()source public

or_( callable|string|array|Cake\Database\ExpressionInterface $conditions , array $types = [] )

Возвращает новый объект QueryExpression, содержащий все переданные условия и настраивает конъюнкцию на "ИЛИ".

Параметры

вызов|строка|массив|Cake\Database\ExpressionInterface $conditions
для объединения с ИЛИ
массив $types необязательно []

ассоциативный массив полей, указывающий на тип значений, которые передаются. Используется для правильной привязки значений к операторам.

Возвращаемое значение

Cake\Database\Expression\QueryExpression

setConjunction()source public

setConjunction( string $conjunction )

Изменяет конъюнкцию для условий на этом уровне дерева выражения.

Параметры

строка $conjunction
Значение, используемое для объединения условий

Возвращаемое значение


$this

tieWith()source public deprecated

tieWith( string|null $conjunction = null )

Изменяет конъюнкцию для условий на этом уровне дерева выражения. Если вызвано без аргументов, оно вернет текущее значение.

Deprecated

3.4.0 Используйте setConjunction()/getConjunction() вместо этого.

Параметры

строка|null $conjunction необязательно null

значение, используемое для объединения условий. Если null, то не будет устанавливаться значение, но будет возвращено текущее сохранённое.

Возвращаемое значение

строка|Cake\Database\Expression\QueryExpression
$this

traverse()source public

traverse( callable $callable )

Проходит по структуре дерева этого выражения запроса, выполняя функцию обратного вызова для каждого из условий, включённых в этот объект. Полезно для компиляции окончательного выражения или для интроспекции структуры.

Функция обратного вызова получает в качестве единственного аргумента экземпляр ExpressionInterface

Параметры

вызов $callable
Вызываемый объект, который применяется ко всем подвыражениям.

Реализация

Cake\Database\ExpressionInterface::traverse()

type()source public deprecated

type( string|null $conjunction = null )

Обратная совместимость обертки для tieWith()

Deprecated

3.2.0 Используйте setConjunction()/getConjunction() вместо этого

Параметры

строка|null $conjunction необязательно null

значение, используемое для объединения условий. Если null, то не будет устанавливаться значение, но будет возвращено текущее сохранённое.

Возвращаемое значение

строка|Cake\Database\Expression\QueryExpression
$this

Методы, используемые из Cake\Database\TypeMapTrait

defaultTypes()source public deprecated

defaultTypes( array $types = null )

Позволяет устанавливать типы по умолчанию при объединении запросов

Deprecated

3.4.0 Используйте setDefaultTypes()/getDefaultTypes() вместо этого.

Параметры

массив $types необязательно null
Массив типов для установки.

Возвращаемое значение


$this|массив

getDefaultTypes()source public

getDefaultTypes( )

Получает типы по умолчанию текущей карты типов.

Возвращаемое значение

массив

getTypeMap()source public

getTypeMap( )

Возвращает существующую карту типов.

Возвращаемое значение

Cake\Database\TypeMap

setDefaultTypes()source public

setDefaultTypes( array $types )

Перезаписывает сопоставления типов по умолчанию для полей в реализующем объекте.

Этот метод полезен, если вам нужно задать сопоставления типов, которые совместно используются несколькими функциями/выражениями в запросе.

Для добавления значения по умолчанию без перезаписи существующих используйте getTypeMap()->addDefaults()

Параметры

массив $types
Массив типов для установки.

Возвращаемое значение


$this

См. также

\Cake\Database\TypeMap::setDefaults()

setTypeMap()source public

setTypeMap( array|Cake\Database\TypeMap $typeMap )

Создаёт новый TypeMap, если $typeMap является массивом, в противном случае меняет его на предоставленный.

Параметры

массив|Cake\Database\TypeMap $typeMap
Создаёт TypeMap, если массив, иначе устанавливает предоставленный TypeMap

Возвращает


$this

typeMap()source public deprecated

typeMap( array|Cake\Database\TypeMap|null $typeMap = null )

Создаёт новый TypeMap, если $typeMap является массивом, в противном случае возвращает существующую карту типов или меняет её на предоставленную.

Устарело

3.4.0 Используйте setTypeMap()/getTypeMap() вместо этого.

Параметры

массив|Cake\Database\TypeMap|null $typeMap необязательно null
Создаёт TypeMap, если массив, иначе устанавливает предоставленный TypeMap

Возвращает


$this|\Cake\Database\TypeMap

© 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.OrderByExpression.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API