Spec-Zone.ru › CakePHP 3.6

Класс OrderByExpression

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

Cake\Database\Expression\QueryExpression implements Cake\Database\ExpressionInterface, Countable uses 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 optional []
Столбцы сортировки
array|Cake\Database\TypeMap $types optional []
Типы для каждого столбца.
string $conjunction optional ''
Разделитель, используемый для объединения условий.

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

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

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

array $types optional []

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

Возвращает


$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 optional []

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

array $types optional []

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

Возвращает


$this

and_()source public

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

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

Параметры

string|array|Cake\Database\ExpressionInterface $conditions
для объединения с И
array $types optional []

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

Возвращает

Cake\Database\Expression\QueryExpression

between()source public

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

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

Параметры

string|Cake\Database\ExpressionInterface $field
Имя поля для сравнения значений в диапазоне.
mixed $from
Начальное значение диапазона.
mixed $to
Конечное значение в диапазоне сравнения.
string|null $type optional 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 )

Добавляет новое условие в объект выражения в форме «СУЩЕСТВУЕТ (...)».

Параметры

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.

Возвращает

boolean

in()source public

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

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

Параметры

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

Возвращает


$this

isCallable()source public

isCallable( callable $c )

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

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

Параметры

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

Возвращает

boolean
Допустимый вызываемый объект.

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

lte()source public

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

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

Параметры

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

Возвращает


$this

not()source public

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

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

Параметры

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

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

Возвращает


$this

notEq()source public

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

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

Параметры

string|Cake\Database\ExpressionInterface $field
Базовое поле для сравнения со значением
mixed $value
Значение, которое будет привязано к $field для сравнения
string|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)".

Параметры

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

Возвращает


$this

notLike()source public

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

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

Параметры

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

Возвращает


$this

or_()source public

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

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

Параметры

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

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

Возвращает

Cake\Database\Expression\QueryExpression

setConjunction()source public

setConjunction( string $conjunction )

Изменяет сочленение для условий на данном уровне дерева выражения.

Параметры

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

Возвращает


$this

tieWith()source public deprecated

tieWith( string|null $conjunction = null )

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

Устаревшее

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

Параметры

string|null $conjunction необязательно null

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

Возвращает

string|Cake\Database\Expression\QueryExpression
$this

traverse()source public

traverse( callable $callable )

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

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

Параметры

callable $callable
Функция обратного вызова для применения ко всем подвыражениям.

Реализация

Cake\Database\ExpressionInterface::traverse()

type()source public deprecated

type( string|null $conjunction = null )

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

Устаревшее

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

Параметры

string|null $conjunction необязательно null

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

Возвращает

string|Cake\Database\Expression\QueryExpression
$this

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

defaultTypes()source public deprecated

defaultTypes( array $types = null )

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

Устаревшее

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

Параметры

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

Возвращает


$this|array

getDefaultTypes()source public

getDefaultTypes( )

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

Возвращает

array

getTypeMap()source public

getTypeMap( )

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

Возвращает

Cake\Database\TypeMap

setDefaultTypes()source public

setDefaultTypes( array $types )

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

Параметры

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

Возвращает


$this

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.6/class-Cake.Database.Expression.OrderByExpression.html

Spec-Zone.ru

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