Для реализации фильтров в gridview мне несколько раз надо получить данные модели. Пытаюсь организовать следующим образом вот собственно сам gridview
[
'attribute'=>'title',
'header'=>'Type',
'filterType'=>GridView::FILTER_SELECT2,
'filter'=> $models->type,
'filterWidgetOptions'=>[
'pluginOptions'=>['allowClear'=>true],
],
'filterInputOptions'=>['placeholder'=>Html::encode('Select Type')]
],
[
'attribute'=>'provider',
'filterType'=>GridView::FILTER_SELECT2,
],
[
'attribute'=> 'quantity',
'filterType'=>GridView::FILTER_SELECT2,
'filter'=> $models->quantitys,
'filterWidgetOptions'=>[
'pluginOptions'=>['allowClear'=>true],
],
'filterInputOptions'=>['placeholder'=>Html::encode('Select Quantity')]
],
вот так пытаюсь организовать в модели
public function __construct($config = [])
{
$this->products=$this::find()->asArray()->all();
parent::__construct($config);
}
public function getType(){
return ArrayHelper::map($this->products,'title','title');
}
/**
* @return array
*/
public function getProviders(){
return ArrayHelper::map($this->products,'provider','provider');
}
/**
* @return array
*/
public function getQuantitys(){
return ArrayHelper::map($this->products,'quantity','quantity');
}
но количество запросов если не возросло то осталось прежним. Вопрос можно как-то получить все данные модели в базе ?