Spec-Zone.ru › Yii 2.0

Класс yii\sphinx\ActiveDataProvider

Все классы | Свойства | Методы
Наследование yii\sphinx\ActiveDataProvider » yii\data\ActiveDataProvider » yii\data\BaseDataProvider » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\data\DataProviderInterface
Доступна с версии 2.0.4
Исходный код https://github.com/yiisoft/yii2-sphinx/blob/master/ActiveDataProvider.php

ActiveDataProvider — это расширенная версия yii\data\ActiveDataProvider, специфичная для Sphinx.

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

Ниже приведен пример использования ActiveDataProvider для получения результатов фасетной обработки:

$provider = new ActiveDataProvider([
    'query' => Post::find()->facets(['author_id', 'category_id']),
    'pagination' => [
        'pageSize' => 20,
    ],
]);

// get the posts in the current page
$posts = $provider->getModels();

// get all facets
$facets = $provider->getFacets();

// get particular facet
$authorFacet = $provider->getFacet('author_id');

В случае, если свойство yii\sphinx\Query::showMeta() установлено, ActiveDataProvider будет получать значение общего количества из метаинформации запроса, избегая дополнительного запроса для подсчета:

$provider = new ActiveDataProvider([
    'query' => Post::find()->showMeta(true),
    'pagination' => [
        'pageSize' => 20,
    ],
]);

$totalCount = $provider->getTotalCount(); // fetched from meta information

Примечание: при использовании метаинформации общее количество результатов будет получено после применения ограничения пагинации, что исключает возможность проверки существования запрошенной страницы. В этом случае провайдер данных автоматически отключает yii\data\Pagination::validatePage.

Примечание: так как смещение и ограничение пагинации могут превысить предел `max_matches` Sphinx, провайдер данных автоматически установит значение `max_matches` на основе этих значений. Однако, если свойство yii\sphinx\Query::showMeta() установлено, такая настройка не выполняется, так как это нарушит вычисление общего количества, поэтому вам необходимо самостоятельно обрабатывать пределы `max_matches`.

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

Свойство Тип Описание Определено
$behaviors yii\base\Behavior[] Список прикрепленных к этому компоненту поведений yii\base\Component
$count целое число Количество моделей данных на текущей странице. yii\data\BaseDataProvider
$db yii\db\Connection|массив|строка Объект подключения к базе данных или идентификатор компонента приложения подключения к базе данных. yii\data\ActiveDataProvider
$facets массив Результаты фасетной обработки запроса. yii\sphinx\ActiveDataProvider
$id строка Идентификатор, уникально определяющий провайдер данных среди всех провайдеров данных. yii\data\BaseDataProvider
$key строка|вызов Столбец, используемый в качестве ключа моделей данных. yii\data\ActiveDataProvider
$keys массив Список значений ключей, соответствующих $models. yii\data\BaseDataProvider
$meta массив Метаинформация запроса поиска. yii\sphinx\ActiveDataProvider
$models массив Список моделей данных на текущей странице. yii\data\BaseDataProvider
$pagination yii\data\Pagination|логическое значение Объект пагинации. yii\data\BaseDataProvider
$query yii\db\QueryInterface Запрос, используемый для получения моделей данных и $totalCount, если он не задан явно. yii\data\ActiveDataProvider
$sort yii\data\Sort|логическое значение Объект сортировки. yii\data\BaseDataProvider
$totalCount целое число Общее количество возможных моделей данных. yii\data\BaseDataProvider

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

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединенные к этому компоненту поведения. yii\base\Component
getCount() Возвращает количество моделей данных на текущей странице. yii\data\BaseDataProvider
getFacet() Возвращает результаты указанного фасета. yii\sphinx\ActiveDataProvider
getFacets() yii\sphinx\ActiveDataProvider
getKeys() Возвращает значения ключей, связанные с моделями данных. yii\data\BaseDataProvider
getMeta() yii\sphinx\ActiveDataProvider
getModels() Возвращает модели данных на текущей странице. yii\data\BaseDataProvider
getPagination() Возвращает объект постраничной навигации, используемый этим поставщиком данных. yii\data\BaseDataProvider
getSort() Возвращает объект сортировки, используемый этим поставщиком данных. yii\data\BaseDataProvider
getTotalCount() Возвращает общее количество моделей данных. yii\data\BaseDataProvider
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует компонент подключения к базе данных. yii\data\ActiveDataProvider
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
prepare() Подготавливает модели данных и ключи. yii\data\BaseDataProvider
refresh() Обновляет поставщик данных. yii\data\BaseDataProvider
setFacets() yii\sphinx\ActiveDataProvider
setKeys() Устанавливает значения ключей, связанные с моделями данных. yii\data\BaseDataProvider
setMeta() yii\sphinx\ActiveDataProvider
setModels() Устанавливает модели данных на текущей странице. yii\data\BaseDataProvider
setPagination() Устанавливает постраничную навигацию для этого поставщика данных. yii\data\BaseDataProvider
setSort() Устанавливает определение сортировки для этого поставщика данных. yii\data\ActiveDataProvider
setTotalCount() Устанавливает общее количество моделей данных. yii\data\BaseDataProvider
trigger() Вызывает событие. yii\base\Component

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

Метод Описание Определено в
prepareKeys() Подготавливает ключи, связанные с текущими доступными моделями данных. yii\data\ActiveDataProvider
prepareModels() Подготавливает модели данных, которые будут доступны на текущей странице. yii\sphinx\ActiveDataProvider
prepareTotalCount() Возвращает значение, указывающее общее количество моделей данных в этом поставщике данных. yii\sphinx\ActiveDataProvider

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

$facets общественное свойство

Результаты фасетного запроса.

public array getFacets ( )
public void setFacets ( $facets )

$meta общественное свойство

Метаинформация запроса поиска

public array getMeta ( )
public void setMeta ( $meta )

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

getFacet() public method

Возвращает результаты указанного фасета.

public array getFacet ( $name )
$name string

Имя фасета

return array

Результаты фасета.

throws yii\base\InvalidCallException

если запрошенный фасет отсутствует в результатах.

getFacets() public method

public array getFacets ( )
return array

Результаты фасетов запроса.

getMeta() public method

public array getMeta ( )
return array

Метаинформация запроса.

prepareModels() protected method

Подготавливает модели данных, которые будут доступны на текущей странице.

protected array prepareModels ( )
return array

Доступные модели данных

prepareTotalCount() protected method

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

protected integer prepareTotalCount ( )
return integer

Общее количество моделей данных в этом поставщике данных.

setFacets() public method

public void setFacets ( $facets )
$facets array

Результаты фасетов запроса.

setMeta() public method

public void setMeta ( $meta )
$meta array

Метаинформация запроса.

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

Spec-Zone.ru

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