Как почему увеличилось количество запросов?

Для реализации фильтров в 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');
    }

но количество запросов если не возросло то осталось прежним. Вопрос можно как-то получить все данные модели в базе ?
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
Количество запросов увеличилось из того что Вы в конструкторе модели делаете запрос. Соответственно когда Вы делаете выборку моделей (для GridView) получаете массив моделей и у каждой из них вызывается конструктор с запросом. Хотите решить проблему - убирайте запрос из конструктора в другое место
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы