Spec-Zone.ru › Yii 2.0

Trait yii\db\QueryTrait

Все классы | Свойства | Методы
Реализовано в yii\db\ActiveQuery, yii\db\Query, yii\elasticsearch\ActiveQuery, yii\elasticsearch\Query, yii\mongodb\ActiveQuery, yii\mongodb\Query, yii\mongodb\file\ActiveQuery, yii\mongodb\file\Query, yii\redis\ActiveQuery, yii\sphinx\ActiveQuery, yii\sphinx\Query
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/QueryTrait.php

Trait BaseQuery представляет собой минимальный набор методов для запроса к базе данных.

Он должен использоваться в классе, реализующем yii\db\QueryInterface.

Публичные свойства

Свойство Тип Описание Определено в
$emulateExecution boolean Имитировать выполнение запроса, возвращая пустые или ложные результаты. yii\db\QueryTrait
$indexBy string|callable Имя столбца, по которому должны индексироваться результаты запроса. Также может быть вызываемым объектом (например, анонимной функцией), возвращающим значение индекса на основе данных строки. Более подробная информация в indexBy(). Это свойство используется только в all(). yii\db\QueryTrait
$limit integer|yii\db\Expression Максимальное количество записей, которое должно быть возвращено. Может быть экземпляром yii\db\Expression. Если не задано или меньше 0, то ограничения нет. yii\db\QueryTrait
$offset integer|yii\db\Expression Сдвиг (смещение) с нуля, начиная с которого должны возвращаться записи. Может быть экземпляром yii\db\Expression. Если не задано или меньше 0, значит, возвращается с начала. yii\db\QueryTrait
$orderBy array Порядок сортировки результатов запроса. Используется для построения ORDER BY в SQL-запросе. Ключи массива — сортируемые столбцы, значения — направления сортировки, которые могут быть SORT_ASC или SORT_DESC. Массив также может содержать объекты yii\db\Expression. В этом случае выражения будут преобразованы в строки без изменений. yii\db\QueryTrait
$where string|array Условие запроса. Относится к условию WHERE в SQL-запросе. Например, ['age' => 31, 'team' => 1]. yii\db\QueryTrait

Публичные методы

Метод Описание Определено в
addOrderBy() Добавляет дополнительные столбцы ORDER BY к запросу. yii\db\QueryTrait
andFilterWhere() Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. yii\db\QueryTrait
andWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryTrait
emulateExecution() Устанавливает, нужно ли имитировать выполнение запроса, предотвращая взаимодействие с хранилищем данных. yii\db\QueryTrait
filterWhere() Устанавливает часть WHERE запроса, но игнорирует пустые операнды. yii\db\QueryTrait
indexBy() Устанавливает свойство indexBy(). yii\db\QueryTrait
limit() Устанавливает часть LIMIT запроса. yii\db\QueryTrait
offset() Устанавливает часть OFFSET запроса. yii\db\QueryTrait
orFilterWhere() Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. yii\db\QueryTrait
orWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryTrait
orderBy() Устанавливает часть ORDER BY запроса. yii\db\QueryTrait
where() Устанавливает часть WHERE запроса. yii\db\QueryTrait

Защищенные методы

Метод Описание Определено в
filterCondition() Удаляет пустые операнды из заданного условия запроса. yii\db\QueryTrait
isEmpty() Возвращает значение, указывающее, является ли данное значение "пустым". yii\db\QueryTrait
normalizeOrderBy() Нормализует формат данных ORDER BY. yii\db\QueryTrait

Подробности о свойствах

$emulateExecution публичное свойство (доступно с версии 2.0.11)

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

См. также emulateExecution().

public boolean $emulateExecution = false

$indexBy публичное свойство

Имя столбца, по которому должны индексироваться результаты запроса. Может также быть вызываемым объектом (например, анонимной функцией), возвращающим значение индекса на основе данных строки. Более подробная информация в indexBy(). Это свойство используется только в all().

public string|callable $indexBy = null

$limit публичное свойство

Максимальное количество записей, которое должно быть возвращено. Может быть экземпляром yii\db\Expression. Если не задано или меньше 0, то ограничения нет.

public integer|yii\db\Expression $limit = null

$offset публичное свойство

Смещение (с нуля), с которого должны возвращаться записи. Может быть экземпляром yii\db\Expression. Если не задано или меньше 0, значит, возвращается с начала.

public integer|yii\db\Expression $offset = null

$orderBy публичное свойство

Порядок сортировки результатов запроса. Используется для построения ORDER BY в SQL-запросе. Ключи массива — сортируемые столбцы, значения — направления сортировки, которые могут быть SORT_ASC или SORT_DESC. Массив также может содержать объекты yii\db\Expression. В этом случае выражения будут преобразованы в строки без изменений.

public array $orderBy = null

$where публичное свойство

Условие запроса. Относится к условию WHERE в SQL-запросе. Например, ['age' => 31, 'team' => 1].

См. также where() для допустимого синтаксиса задания этого значения.

public string|array $where = null

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

addOrderBy() public method

Добавляет дополнительные столбцы ORDER BY к запросу.

См. также orderBy().

public $this addOrderBy ( $columns )
$columns string|array|yii\db\Expression

Столбцы (и направления) для сортировки. Столбцы могут быть указаны либо в строке (например, "id ASC, name DESC"), либо в массиве (например, ['id' => SORT_ASC, 'name' => SORT_DESC]).

Метод автоматически приводит имена столбцов к каноническому виду, за исключением случаев, когда столбец содержит скобки (что означает, что столбец содержит выражение БД).

Обратите внимание, что если ваша сортировка — это выражение, содержащее запятые, вы всегда должны использовать массив для представления информации о сортировке. В противном случае метод не сможет правильно определить столбцы сортировки.

С версии 2.0.7 можно передавать объект yii\db\Expression для явного указания части ORDER BY на простом SQL.

return $this

Объект запроса.

andFilterWhere() public method

Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды.

Новое условие и существующее будут объединены с помощью оператора 'И'.

Этот метод похож на andWhere(). Основное различие заключается в том, что этот метод удаляет пустые операнды запроса. В результате этот метод лучше всего подходит для построения условий запроса на основе значений фильтров, вводимых пользователями.

См. также:

  • filterWhere()
  • orFilterWhere()
public $this andFilterWhere ( array $condition )
$condition array

Новое условие WHERE. Обратитесь к where() для получения информации о том, как указать этот параметр.

return $this

Объект запроса.

andWhere() public method

Добавляет дополнительное условие WHERE к существующему.

Новое условие и существующее будут объединены с помощью оператора 'И'.

См. также:

  • where()
  • orWhere()
public $this andWhere ( $condition )
$condition string|array

Новое условие WHERE. Обратитесь к where() для получения информации о том, как указать этот параметр.

return $this

Объект запроса.

emulateExecution() public method (доступно с версии 2.0.11)

Устанавливает, следует ли эмулировать выполнение запроса, предотвращая взаимодействие с хранилищем данных.

После включения этого режима методы, возвращающие результаты запроса, такие как \yii\db\one(), \yii\db\all(), \yii\db\exists() и так далее, будут возвращать пустые значения или false. Вы должны использовать этот метод в том случае, если логика вашей программы указывает, что запрос не должен возвращать никаких результатов, например, если вы установили ложное условие, например 0=1.

public $this emulateExecution ( $value = true )
$value boolean

Предотвратить выполнение запроса.

return $this

Объект запроса.

filterCondition() protected method

Удаляет пустые операнды из заданного условия запроса.

protected array filterCondition ( $condition )
$condition array

Исходное условие.

return array

Условие с удаленными пустыми операндами.

throws yii\base\NotSupportedException

если оператор условия не поддерживается.

filterWhere() public method

Устанавливает часть WHERE запроса, но игнорирует пустые операнды.

Этот метод похож на where(). Основное различие состоит в том, что этот метод удаляет пустые операнды запроса. В результате этот метод лучше всего подходит для построения условий запроса на основе значений фильтров, вводимых пользователями.

Следующий код демонстрирует разницу между этим методом и where():

// WHERE `age`=:age
$query->filterWhere(['name' => null, 'age' => 20]);
// WHERE `age`=:age
$query->where(['age' => 20]);
// WHERE `name` IS NULL AND `age`=:age
$query->where(['name' => null, 'age' => 20]);

Обратите внимание, что в отличие от where(), вы не можете передавать параметры привязки в этот метод.

См. также:

  • where()
  • andFilterWhere()
  • orFilterWhere()
public $this filterWhere ( array $condition )
$condition array

Условие, которое должно быть помещено в часть WHERE. Смотрите where() о том, как указать этот параметр.

return $this

Объект запроса.

indexBy() public method

Устанавливает свойство indexBy().

public $this indexBy ( $column )
$column string|callable

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

function ($row)
{
    // return the index value corresponding to $row
}
return $this

Объект запроса.

isEmpty() protected method

Возвращает значение, указывающее, является ли данное значение "пустым".

Значение считается "пустым", если выполняется одно из следующих условий:

  • он null,
  • пустая строка (''),
  • строка, содержащая только пробельные символы,
  • или пустой массив.
protected boolean isEmpty ( $value )
$value mixed
return boolean

Если значение пустое

limit() public method

Устанавливает часть LIMIT запроса.

public $this limit ( $limit )
$limit integer|yii\db\Expression|null

Предел. Используйте null или отрицательное значение для отключения лимита.

return $this

Объект запроса.

normalizeOrderBy() protected method

Нормализует формат данных ORDER BY

protected array normalizeOrderBy ( $columns )
$columns array|string|yii\db\Expression

Значение столбцов для нормализации. См. orderBy() и addOrderBy().

offset() public method

Устанавливает часть OFFSET запроса.

public $this offset ( $offset )
$offset целое число|yii\db\Expression|null

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

return $this

Объект запроса

orFilterWhere() public method

Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды.

Новое условие и существующее будут объединены с помощью оператора 'OR'.

Этот метод аналогичен методу orWhere(). Основное различие заключается в том, что этот метод удаляет пустые операнды запроса. В результате, этот метод лучше всего подходит для построения условий запроса на основе фильтров, вводимых пользователями.

См. также:

  • filterWhere()
  • andFilterWhere()
public $this orFilterWhere ( массив $condition )
$condition массив

Новое условие WHERE. См. where() для получения информации о способе указания этого параметра.

return $this

Объект запроса

orWhere() public method

Добавляет дополнительное условие WHERE к существующему.

Новое условие и существующее будут объединены с помощью оператора 'OR'.

См. также:

  • where()
  • andWhere()
public $this orWhere ( $condition )
$condition строка|массив

Новое условие WHERE. См. where() для получения информации о способе указания этого параметра.

return $this

Объект запроса

orderBy() public method

Устанавливает часть ORDER BY запроса.

См. также addOrderBy().

public $this orderBy ( $columns )
$columns строка|массив|yii\db\Expression

Столбцы (и направления) для сортировки. Столбцы могут быть заданы как строкой (например, "id ASC, name DESC"), так и массивом (например, ['id' => SORT_ASC, 'name' => SORT_DESC]).

Метод автоматически приводит имена столбцов в соответствие с синтаксисом, если столбец не содержит скобок (что означает, что столбец содержит выражение БД).

Обратите внимание, что если ваша сортировка — это выражение, содержащее запятые, вы всегда должны использовать массив для представления информации о сортировке. В противном случае метод не сможет правильно определить столбцы сортировки.

С версии 2.0.7, объект yii\db\Expression может быть передан для явного указания части ORDER BY в чистом SQL.

return $this

Объект запроса

where() public method

Устанавливает часть WHERE запроса.

См. yii\db\QueryInterface::where() для подробного описания.

См. также:

  • andWhere()
  • orWhere()
public $this where ( $condition )
$condition строка|массив

Условие, которое должно быть помещено в часть WHERE.

return $this

Объект запроса

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-querytrait.html

Spec-Zone.ru

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