Класс yii\sphinx\Query
| Наследование | yii\sphinx\Query » yii\db\Query » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\db\QueryInterface |
| Использует Трейты | yii\db\QueryTrait |
| Подклассы | yii\sphinx\ActiveQuery |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-sphinx/blob/master/Query.php |
Query представляет оператор SELECT SQL.
Query предоставляет набор методов для удобного указания различных пунктов в операторе SELECT. Эти методы можно использовать цепочкой.
Вызывая createCommand(), мы можем получить экземпляр yii\sphinx\Command, который можно использовать для выполнения/выполнения запроса к Sphinx.
Например,
$query = new Query();
$query->select('id, group_id')
->from('idx_item')
->limit(10);
// build and execute the query
$command = $query->createCommand();
// $command->sql returns the actual SQL
$rows = $command->queryAll();
Поскольку Sphinx не хранит исходный индексированный текст, фрагменты для строк в результате запроса должны быть сгенерированы отдельно с помощью другого запроса. Вы можете упростить этот процесс, используя snippetCallback().
Предупреждение: даже если вы не устанавливаете никаких ограничений для запроса, по умолчанию присутствует неявное ограничение LIMIT 0,20!
Публичные Свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $connection | yii\sphinx\Connection | Экземпляр подключения к Sphinx | yii\sphinx\Query |
| $distinct | boolean | Выбирать только уникальные строки данных. | yii\db\Query |
| $emulateExecution | boolean | Эмулировать фактическое выполнение запроса, возвращая пустые или ложные результаты. | yii\db\QueryTrait |
| $facets | array | Параметры поиска Facet. | yii\sphinx\Query |
| $from | array | Таблица(ы) для выбора. | yii\db\Query |
| $groupBy | array | Группировка результатов запроса. | yii\db\Query |
| $groupLimit | integer | Ограничение групп: вернуть (не более) N лучших результатов для каждой группы. | yii\sphinx\Query |
| $having | string|array|yii\db\Expression | Условие, применяемое в предложении GROUP BY. | yii\db\Query |
| $indexBy | string|callable | Имя столбца для индексации результатов запроса. | yii\db\QueryTrait |
| $join | array | Как присоединять другие таблицы. | yii\db\Query |
| $limit | integer|yii\db\Expression | Максимальное количество записей, которое должно быть возвращено. | yii\db\QueryTrait |
| $match | string|yii\db\Expression | Текст, который должен быть проиндексирован в полном тексте. | yii\sphinx\Query |
| $offset | integer|yii\db\Expression | Смещение (от 0) с которого возвращаются записи. | yii\db\QueryTrait |
| $options | array | Параметры запроса в формате: optionName => optionValue. Они составят предложение OPTION. | yii\sphinx\Query |
| $orderBy | array | Сортировка результатов запроса. | yii\db\QueryTrait |
| $params | array | Список значений параметров запроса, индексированных по параметрам. | yii\db\Query |
| $select | array | Столбцы, подлежащие выбору. | yii\db\Query |
| $selectOption | string | Дополнительный параметр, который следует добавить к ключевому слову 'SELECT'. | yii\db\Query |
| $showMeta | boolean|string|yii\db\Expression | Автоматически выполнить запрос 'SHOW META' по основному. | yii\sphinx\Query |
| $snippetCallback | callable | Обратный вызов PHP, который следует использовать для получения исходных данных для фрагментов. | yii\sphinx\Query |
| $snippetOptions | array | Параметры запроса для вызова фрагмента. | yii\sphinx\Query |
| $union | array | Используется для построения предложения UNION в операторе SQL. | yii\db\Query |
| $where | string|array | Условие запроса. | yii\db\QueryTrait |
| $within | string | Предложение WITHIN GROUP ORDER BY. | yii\sphinx\Query |
Публичные Методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| addFacets() | Добавляет дополнительную часть запроса FACET. | yii\sphinx\Query |
| addGroupBy() | Добавляет дополнительные столбцы группировки к существующим. | yii\db\Query |
| addOptions() | Добавляет дополнительные параметры запроса. | yii\sphinx\Query |
| addOrderBy() | Добавляет дополнительные столбцы ORDER BY в запрос. | yii\db\QueryTrait |
| addParams() | Добавляет дополнительные параметры, которые необходимо привязать к запросу. | yii\db\Query |
| addSelect() | Добавить больше столбцов в часть SELECT запроса. | yii\db\Query |
| addWithin() | Добавляет дополнительные столбцы WITHIN GROUP ORDER BY в запрос. | yii\sphinx\Query |
| all() | Выполняет запрос и возвращает все результаты в виде массива. | yii\db\Query |
| andFilterCompare() | Добавляет условие фильтрации для определенного столбца и позволяет пользователю выбрать оператор фильтра. | yii\db\Query |
| andFilterHaving() | Добавляет дополнительное условие HAVING к существующему, но игнорирует пустые операнды. | yii\db\Query |
| andFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| andHaving() | Добавляет дополнительное условие HAVING к существующему. | yii\db\Query |
| andWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| average() | Возвращает среднее значение указанных значений столбца. | yii\db\Query |
| batch() | Запускает пакетный запрос. | yii\db\Query |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| column() | Выполняет запрос и возвращает первый столбец результата. | yii\db\Query |
| count() | Возвращает количество записей. | yii\db\Query |
| create() | Создаёт новый объект Query и копирует значения свойств из существующего. | yii\sphinx\Query |
| createCommand() | Создаёт команду Sphinx, которая может быть использована для выполнения этого запроса. | yii\sphinx\Query |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| distinct() | Устанавливает значение, указывающее, следует ли выполнить SELECT DISTINCT или нет. | yii\db\Query |
| each() | Запускает пакетный запрос и извлекает данные строка за строкой. | yii\db\Query |
| emulateExecution() | Устанавливает, следует ли эмулировать выполнение запроса, предотвращая любое взаимодействие с хранилищем данных. | yii\db\QueryTrait |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| exists() | Возвращает значение, указывающее, содержит ли результат запроса какую-либо строку данных. | yii\db\Query |
| facets() | Устанавливает часть запроса FACET. | yii\sphinx\Query |
| filterHaving() | Устанавливает часть HAVING запроса, но игнорирует пустые операнды. | yii\db\Query |
| filterWhere() | Устанавливает часть WHERE запроса, но игнорирует пустые операнды. | yii\db\QueryTrait |
| from() | Устанавливает часть FROM запроса. | yii\db\Query |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| getConnection() | yii\sphinx\Query | |
| groupBy() | Устанавливает часть GROUP BY запроса. | yii\db\Query |
| groupLimit() | Устанавливает лимит групп: возвращать (не более) N лучших совпадений для каждой группы. | yii\sphinx\Query |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, присоединённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| having() | Устанавливает часть HAVING запроса. | yii\db\Query |
| indexBy() | Устанавливает свойство indexBy(). | yii\db\QueryTrait |
| init() | Инициализирует объект. | yii\base\Object |
| innerJoin() | Добавляет часть INNER JOIN к запросу. | yii\sphinx\Query |
| join() | Добавляет часть JOIN к запросу. | yii\sphinx\Query |
| leftJoin() | Добавляет часть LEFT OUTER JOIN к запросу. | yii\sphinx\Query |
| limit() | Устанавливает часть LIMIT запроса. | yii\db\QueryTrait |
| match() | Устанавливает текст полнотекстового запроса. Этот текст будет составлен в оператор MATCH внутри условия WHERE. | yii\sphinx\Query |
| max() | Возвращает максимальное значение указанных значений столбца. | yii\db\Query |
| min() | Возвращает минимальное значение указанных значений столбца. | yii\db\Query |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offset() | Устанавливает часть OFFSET запроса. | yii\db\QueryTrait |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| one() | Выполняет запрос и возвращает одну строку результата. | yii\sphinx\Query |
| options() | Устанавливает параметры запроса. | yii\sphinx\Query |
| orFilterHaving() | Добавляет дополнительное условие HAVING к существующему, но игнорирует пустые операнды. | yii\db\Query |
| orFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| orHaving() | Добавляет дополнительное условие HAVING к существующему. | yii\db\Query |
| orWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| orderBy() | Устанавливает часть ORDER BY запроса. | yii\db\QueryTrait |
| params() | Устанавливает параметры, которые должны быть привязаны к запросу. | yii\db\Query |
| populate() | Преобразует сырые результаты запроса в формат, заданный этим запросом. | yii\sphinx\Query |
| prepare() | Подготавливается к построению SQL. | yii\db\Query |
| rightJoin() | Добавляет часть RIGHT OUTER JOIN к запросу. | yii\sphinx\Query |
| scalar() | Возвращает результат запроса как скалярное значение. | yii\db\Query |
| search() | Выполняет запрос и возвращает полный результат поиска, включая, например, совпадения, аспекты. | yii\sphinx\Query |
| select() | Устанавливает часть SELECT запроса. | yii\db\Query |
| setConnection() | yii\sphinx\Query | |
| showMeta() | Устанавливает, нужно ли автоматически выполнять 'SHOW META' для запроса поиска. | yii\sphinx\Query |
| snippetCallback() | Устанавливает PHP-обработчик, который должен использоваться для извлечения исходных данных для построения фрагментов. | yii\sphinx\Query |
| snippetOptions() | Устанавливает параметры запроса фрагментов. | yii\sphinx\Query |
| sum() | Возвращает сумму указанных значений столбца. | yii\db\Query |
| trigger() | Вызывает событие. | yii\base\Component |
| union() | Добавляет SQL-запрос с помощью оператора UNION. | yii\db\Query |
| where() | Устанавливает часть WHERE запроса. | yii\db\QueryTrait |
| within() | Устанавливает часть WITHIN GROUP ORDER BY запроса. | yii\sphinx\Query |
Защищённые методы
| Метод | Описание | Определено |
|---|---|---|
| callSnippets() | Создаёт фрагменты из предоставленных исходных данных. | yii\sphinx\Query |
| callSnippetsInternal() | Создаёт фрагменты из предоставленных исходных данных по заданному индексу. | yii\sphinx\Query |
| defaultConnection() | yii\sphinx\Query | |
| fillUpSnippets() | Заполняет строки результата запроса фрагментами, построенными из исходных данных, определённых результатом snippetCallback(). | yii\sphinx\Query |
| filterCondition() | Удаляет пустые операнды из данного условия запроса. | yii\db\QueryTrait |
| isEmpty() | Возвращает значение, указывающее, является ли данное значение "пустым". | yii\db\QueryTrait |
| normalizeOrderBy() | Нормализует формат данных ORDER BY | yii\db\QueryTrait |
| queryScalar() | Запрашивает скалярное значение, сначала установив select(). | yii\sphinx\Query |
Подробное описание свойств
$connection общедоступное свойство
Экземпляр соединения Sphinx
public yii\sphinx\Connection getConnection ( )
public $this setConnection ( $connection )
$facets общедоступное свойство
Спецификации поиска аспектов. Например:
[
'group_id',
'brand_id' => [
'order' => ['COUNT(*)' => SORT_ASC],
],
'price' => [
'select' => 'INTERVAL(price,200,400,600,800) AS price',
'order' => ['FACET()' => SORT_ASC],
],
'name_in_json' => [
'select' => [new Expression('json_attr.name AS name_in_json')],
],
]
Для получения результатов аспектов необходимо использовать метод search().
Примечание: если вы указываете пользовательский выбор для аспекта, убедитесь, что имя аспекта соответствует соответствующему столбцу внутри него.
public array $facets = []
$groupLimit общедоступное свойство (доступно с версии 2.0.6)
Пределы групп: возвращать (не более) N лучших совпадений для каждой группы. Этот параметр будет действовать только в том случае, если задан groupBy().
public integer $groupLimit = null
$match общедоступное свойство
Текст, который должен быть проиндексирован в режиме полнотекстового поиска. Это значение будет составлено в оператор MATCH внутри условия WHERE. Примечание: это значение будет обработано методом yii\sphinx\Connection::escapeMatchValue(). Если необходимо составить сложное условие соответствия, используйте yii\db\Expression. Подробности см. в match().
public string|yii\db\Expression $match = null
$options общедоступное свойство
Параметры запроса в формате: optionName => optionValue Они составят предложение OPTION. Это специфичное для Sphinx расширение, которое позволяет управлять многими параметрами запроса.
public array $options = null
$showMeta общедоступное свойство
Необходимо ли автоматически выполнять запрос 'SHOW META' для основного запроса. Вы можете установить это значение в строку или экземпляр yii\db\Expression. В этом случае его значение будет использоваться как условие 'LIKE' для инструкции 'SHOW META'. Для получения результатов 'meta' необходимо использовать метод search().
public boolean|string|yii\db\Expression $showMeta = nullEND_OF_DOCUMENT_MARKER
$snippetCallback public property
PHP обратный вызов, который должен использоваться для извлечения исходных данных для фрагментов. Такой обратный вызов получит массив строк результатов запроса в качестве аргумента и должен вернуть массив строк исходного кода фрагмента в порядке, соответствующем строкам входящих строк. Например:
$query = new Query();
$query->from('idx_item')
->match('pencil')
->snippetCallback(function ($rows) {
$result = [];
foreach ($rows as $row) {
$result[] = file_get_contents('/path/to/index/files/' . $row['id'] . '.txt');
}
return $result;
})
->all();
public callable $snippetCallback = null
$snippetOptions public property
Параметры запроса для вызова фрагмента.
public array $snippetOptions = null
$within public property
Оператор ORDER BY в рамках группы. Это расширение, специфичное для Sphinx, которое позволяет управлять тем, как будет выбрана лучшая строка в группе. Возможные значения совпадают со значениями orderBy().
public string $within = null
Подробное описание методов
addFacets() public method
Добавляет дополнительную часть FACET запроса.
| public $this addFacets ( $facets ) | ||
|---|---|---|
| $facets | array |
Параметры спецификаций FACET. |
| return | $this |
Сам объект запроса |
addOptions() public method
Добавляет дополнительные параметры запроса.
См. также options().
| public $this addOptions ( $options ) | ||
|---|---|---|
| $options | array |
Параметры запроса в формате: имяПараметра => значениеПараметра |
| return | $this |
Сам объект запроса |
addWithin() public method
Добавляет дополнительные столбцы WITHIN GROUP ORDER BY в запрос.
См. также within().
| public $this addWithin ( $columns ) | ||
|---|---|---|
| $columns | string|array |
Столбцы (и направления) для поиска лучшей строки внутри группы. Столбцы могут быть указаны либо в строке (например, "id ASC, name DESC"), либо в массиве (например, |
| return | $this |
Сам объект запроса |
callSnippets() protected method
Создаёт фрагменты из предоставленных исходных данных.
| protected array callSnippets ( array $source ) | ||
|---|---|---|
| $source | array |
Исходные данные для извлечения фрагмента. |
| return | array |
Список фрагментов. |
| throws | yii\base\InvalidCallException |
в случае, если match() не указан. |
callSnippetsInternal() protected method
Создаёт фрагменты из предоставленных исходных данных по указанному индексу.
| protected array callSnippetsInternal ( array $source, $from ) | ||
|---|---|---|
| $source | array |
Исходные данные для извлечения фрагмента. |
| $from | string |
Имя индекса исходных данных. |
| return | array |
Список фрагментов. |
| throws | yii\base\InvalidCallException |
в случае, если match() не указан. |
create() public static method
Создаёт новый объект запроса и копирует значения свойств из существующего.
Копируются свойства, используемые конструкторами запросов.
| public static yii\sphinx\Query create ( $from ) | ||
|---|---|---|
| $from | yii\sphinx\Query |
Исходный объект запроса |
| return | yii\sphinx\Query |
Новый объект запроса |
createCommand() public method
Создаёт команду Sphinx, которая может быть использована для выполнения этого запроса.
| public yii\sphinx\Command createCommand ( $db = null ) | ||
|---|---|---|
| $db | yii\sphinx\Connection |
Подключение Sphinx, используемое для генерации SQL-запроса. Если этот параметр не указан, будет использован компонент |
| return | yii\sphinx\Command |
Созданный экземпляр команды Sphinx. |
defaultConnection() protected method
| protected yii\sphinx\Connection defaultConnection ( ) | ||
|---|---|---|
| return | yii\sphinx\Connection |
Значение по умолчанию для подключения. |
facets() public method
Устанавливает часть FACET запроса.
| public $this facets ( $facets ) | ||
|---|---|---|
| $facets | array |
Параметры спецификаций FACET. |
| return | $this |
Сам объект запроса |
fillUpSnippets() protected method
Заполняет строки результата запроса фрагментами, созданными из исходных данных, определённых результатом snippetCallback().
| protected array|yii\sphinx\ActiveRecord[] fillUpSnippets ( $rows ) | ||
|---|---|---|
| $rows | array |
Сырые строки результата запроса. |
| return | array|yii\sphinx\ActiveRecord[] |
Строки результата запроса с заполненными фрагментами. |
getConnection() public method
| public yii\sphinx\Connection getConnection ( ) | ||
|---|---|---|
| return | yii\sphinx\Connection |
Экземпляр подключения Sphinx |
groupLimit() public method (доступно с версии 2.0.6)
Устанавливает ограничение на количество групп: возвращать не более N лучших совпадений для каждой группы.
Этот параметр будет действовать только при установке groupBy().
| public $this groupLimit ( $limit ) | ||
|---|---|---|
| $limit | integer |
Ограничение на количество групп. |
| return | $this |
Сам объект запроса. |
innerJoin() public method
Добавляет часть INNER JOIN к запросу.
| public $this innerJoin ( $table, $on = '', $params = [] ) | ||
|---|---|---|
| $table | string|array |
Таблица для объединения. Используйте строку для представления имени таблицы, которую нужно объединить. Имя таблицы может содержать префикс схемы (например, 'public.user') и/или псевдоним таблицы (например, 'user u'). Метод автоматически приводит имя таблицы к каноническому виду, если только оно не содержит скобок (что означает, что таблица задана как подзапрос или выражение БД). Используйте массив для объединения с подзапросом. Массив должен содержать только один элемент. Значение должно быть объектом yii\sphinx\Query, представляющим подзапрос, а соответствующий ключ — псевдонимом для подзапроса. |
| $on | string|array |
Условие объединения, которое должно отображаться в части ON. Обратитесь к join() за подробной информацией о задании этого параметра. |
| $params | array |
Параметры (имя => значение), которые нужно связать с запросом. |
| return | $this |
Сам объект запроса |
join() public method
Добавляет часть JOIN к запросу.
Первый параметр определяет тип соединения.
| public $this join ( $type, $table, $on = '', $params = [] ) | ||
|---|---|---|
| $type | строка |
Тип соединения, например, INNER JOIN, LEFT JOIN. |
| $table | строка|массив |
Таблица, с которой выполняется соединение. Используйте строку для представления имени таблицы, с которой нужно выполнить соединение. Имя таблицы может содержать префикс схемы (например, 'public.user') и/или псевдоним таблицы (например, 'user u'). Метод автоматически приведет имя таблицы в соответствие со стандартами, если оно не содержит скобок (что означает, что таблица задана как подзапрос или выражение базы данных). Используйте массив для представления соединения с подзапросом. Массив должен содержать только один элемент. Значение должно быть объектом yii\sphinx\Query, представляющим подзапрос, в то время как соответствующий ключ представляет псевдоним для подзапроса. |
| $on | строка|массив |
Условие соединения, которое должно присутствовать в части ON. Обратитесь к where() для получения информации о том, как указать этот параметр. Обратите внимание, что формат массива where() предназначен для сопоставления столбцов со значениями, а не столбцов со столбцами, поэтому следующее не будет работать должным образом: 'post.author_id = user.id' |
| $params | массив |
Параметры (имя => значение) для привязки к запросу. |
| return | $this |
Сам объект запроса |
leftJoin() public метод
Добавляет часть LEFT OUTER JOIN в запрос.
| public $this leftJoin ( $table, $on = '', $params = [] ) | ||
|---|---|---|
| $table | строка|массив |
Таблица, с которой выполняется соединение. Используйте строку для представления имени таблицы, с которой нужно выполнить соединение. Имя таблицы может содержать префикс схемы (например, 'public.user') и/или псевдоним таблицы (например, 'user u'). Метод автоматически приведет имя таблицы в соответствие со стандартами, если оно не содержит скобок (что означает, что таблица задана как подзапрос или выражение базы данных). Используйте массив для представления соединения с подзапросом. Массив должен содержать только один элемент. Значение должно быть объектом yii\sphinx\Query, представляющим подзапрос, в то время как соответствующий ключ представляет псевдоним для подзапроса. |
| $on | строка|массив |
Условие соединения, которое должно присутствовать в части ON. Обратитесь к join() для получения информации о том, как указать этот параметр. |
| $params | массив |
Параметры (имя => значение) для привязки к запросу |
| return | $this |
Сам объект запроса |
match() public метод
Устанавливает текст запроса fulltext. Этот текст будет включён в оператор MATCH в условии WHERE.
Примечание: это значение будет обработано yii\sphinx\Connection::escapeMatchValue(), если вам нужно составить сложное условие match, используйте yii\db\Expression:
$query = new Query();
$query->from('my_index')
->match(new Expression(':match', ['match' => '@(content) ' . Yii::$app->sphinx->escapeMatchValue($matchValue)]))
->all();
| public $this match ( $query ) | ||
|---|---|---|
| $query | строка|yii\db\Expression|yii\sphinx\MatchExpression |
Текст запроса fulltext. |
| return | $this |
Сам объект запроса. |
one() public метод
Выполняет запрос и возвращает одну строку результата.
| public массив|boolean one ( $db = null ) | ||
|---|---|---|
| $db | yii\db\Connection |
Подключение к базе данных, используемое для генерации SQL-запроса. Если этот параметр не задан, будет использовано приложение |
| return | массив|boolean |
Первая строка (с точки зрения массива) результата запроса. Возвращает false, если запрос не возвращает ничего. |
options() public метод
Устанавливает параметры запроса.
См. также addOptions().
| public $this options ( $options ) | ||
|---|---|---|
| $options | массив |
Параметры запроса в формате: имяПараметра => значениеПараметра |
| return | $this |
Сам объект запроса |
populate() public метод
Преобразует результаты запроса в формат, указанный в этом запросе.
Этот метод используется внутри для преобразования данных, извлеченных из базы данных, в формат, требуемый этим запросом.
| public массив populate ( $rows ) | ||
|---|---|---|
| $rows | массив |
Необработанный результат запроса из базы данных |
| return | массив |
Преобразованный результат запроса |
queryScalar() protected метод
Запрашивает скалярное значение, сначала установив select().
Восстанавливает значение select, чтобы этот запрос можно было повторно использовать.
| protected boolean|строка queryScalar ( $selectExpression, $db ) | ||
|---|---|---|
| $selectExpression | строка|yii\db\Expression | |
| $db | yii\db\Connection|null | |
rightJoin() public метод
Добавляет часть RIGHT OUTER JOIN в запрос.
| public $this rightJoin ( $table, $on = '', $params = [] ) | ||
|---|---|---|
| $table | строка|массив |
Таблица, с которой выполняется соединение. Используйте строку для представления имени таблицы, с которой нужно выполнить соединение. Имя таблицы может содержать префикс схемы (например, 'public.user') и/или псевдоним таблицы (например, 'user u'). Метод автоматически приведет имя таблицы в соответствие со стандартами, если оно не содержит скобок (что означает, что таблица задана как подзапрос или выражение базы данных). Используйте массив для представления соединения с подзапросом. Массив должен содержать только один элемент. Значение должно быть объектом yii\sphinx\Query, представляющим подзапрос, в то время как соответствующий ключ представляет псевдоним для подзапроса. |
| $on | строка|массив |
Условие соединения, которое должно присутствовать в части ON. Обратитесь к join() для получения информации о том, как указать этот параметр. |
| $params | массив |
Параметры (имя => значение) для привязки к запросу |
| return | $this |
Сам объект запроса |
search() public метод
Выполняет запрос и возвращает полный результат поиска, включая, например, совпадения, аспекты.
| public массив search ( $db = null ) | ||
|---|---|---|
| $db | yii\sphinx\Connection |
Подключение Sphinx, используемое для генерации SQL-запроса. |
| return | массив |
Результаты запроса. |
setConnection() public метод
| public $this setConnection ( $connection ) | ||
|---|---|---|
| $connection | yii\sphinx\Connection |
Экземпляр подключения Sphinx |
| return | $this |
Сам объект запроса |
showMeta() public метод
Устанавливает, нужно ли автоматически выполнить «SHOW META» для запроса поиска.
См. также showMeta().
| public $this showMeta ( $showMeta ) | ||
|---|---|---|
| $showMeta | boolean|string|yii\db\Expression |
Включить автоматическое выполнение 'SHOW META' |
| return | $this |
Объект запроса |
snippetCallback() public method
Устанавливает PHP-обработчик, который должен использоваться для получения исходных данных для построения фрагментов.
См. также snippetCallback().
| public $this snippetCallback ( $callback ) | ||
|---|---|---|
| $callback | callable |
PHP-обработчик, который должен использоваться для извлечения исходных данных для фрагментов. |
| return | $this |
Объект запроса |
snippetOptions() public method
Устанавливает параметры запроса к фрагментам.
См. также snippetCallback().
| public $this snippetOptions ( $options ) | ||
|---|---|---|
| $options | array |
Параметры запроса к фрагментам в формате: имя_параметра => значение_параметра |
| return | $this |
Объект запроса |
within() public method
Устанавливает часть запроса WITHIN GROUP ORDER BY.
См. также addWithin().
| public $this within ( $columns ) | ||
|---|---|---|
| $columns | string|array |
Столбцы (и направления) для поиска лучшей строки в группе. Столбцы можно указать в строке (например, "id ASC, name DESC") или массиве (например, |
| return | $this |
Объект запроса |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-sphinx-query.html