Spec-Zone.ru › CakePHP 3.5

Класс 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 '' )

Конструктор

Параметры

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

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

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

_addConditions()source protected

_addConditions( array $orders , array $types )

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

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

Параметры

массив $orders
список выражений ORDER BY
массив $types
список типов, связанных с полями, на которые ссылаются в $conditions

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

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

sql()source public

sql( Cake\Database\ValueBinder $generator )

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

Параметры

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

Возвращает

строка

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

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

Наследованные методы из Cake\Database\Expression\QueryExpression

__call()source public

__call( string $method , array $args )

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

Параметры

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

Возвращает

Cake\Database\Expression\QueryExpression

Исключения

BadMethodCallException

__clone()source public

__clone( )

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

_calculateType()source protected

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

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

Параметры

строка|Cake\Database\Expression\IdentifierExpression $field
Имя поля, для которого требуется получить тип.

Возвращает

строка|null
Вычисленный тип или null, если тип неизвестен.

_parseCondition()source protected

_parseCondition( string $field , mixed $value )

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

Параметры

строка $field

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

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

Возвращает

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

add()source public

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

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

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

Параметры

строка|массив|Cake\Database\ExpressionInterface $conditions

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

массив $types необязательно []

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

Возвращает


$this

См. также

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

addCase()source public

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

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

Параметры

массив|Cake\Database\ExpressionInterface $conditions

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

массив|Cake\Database\ExpressionInterface $values необязательно []

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

массив $types необязательно []

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

Возвращает


$this

and_()source public

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

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

Параметры

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

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

Возвращает

Cake\Database\Expression\QueryExpression

between()source public

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

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

Параметры

строка|Cake\Database\ExpressionInterface $field
Имя поля, которое сравнивается со значениями в диапазоне.
смешанное $from
Начальное значение диапазона.
смешанное $to
Конечное значение в диапазоне сравнения.
строка|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 )

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

Параметры

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 )

Добавляет новое условие к объекту выражения в виде "поле В (значение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

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

Возвращает


$this

isNull()source public

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

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

Параметры

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

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

Возвращает


$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 )

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

Параметры

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

Возвращает


$this

not()source public

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

Добавляет новый набор условий на этом уровне дерева и инвертирует конечный результат, добавив NOT, он будет выглядеть как "NOT ( (условие1) И (условия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
Значение, которое будет привязано к $поле для сравнения
строка|null $type необязательно null

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

Возвращает


$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
значение, которое будет привязано к $поле для сравнения
строка|null $type необязательно null
имя типа для $value, как настроено с помощью карты типов.

Возвращает


$this

notLike()source public

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

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

Параметры

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

Возвращает


$this

or_()source public

or_( 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

tieWith( string|null $conjunction null )

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

Устарело

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

type( string|null $conjunction null )

Обратная совместимость с функцией tieWith()

Устарело

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

Параметры

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

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

Возвращает

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

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

defaultTypes()source public

defaultTypes( array $types null )

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

Устарело

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 )

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

Параметры

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

Возвращает


$this

setTypeMap()source public

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

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

Параметры

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

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


$this

typeMap()source public

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

Spec-Zone.ru

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