ActiveDataProvider выборка всех данных.

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
sandrain
Сообщения: 53
Зарегистрирован: 2011.10.27, 14:07

ActiveDataProvider выборка всех данных.

Сообщение sandrain »

Это нормально, что ActiveDataProvider(и как следствие виджет GridView) делает выборку всех колонок ? даже если указаны 2-3 из 50.

:shock:
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: ActiveDataProvider выборка всех данных.

Сообщение Onotole »

Выбирайте только те колонки, которые хотите выводить
sandrain
Сообщения: 53
Зарегистрирован: 2011.10.27, 14:07

Re: ActiveDataProvider выборка всех данных.

Сообщение sandrain »

Я про сам запрос MySQL говорю, что там SELECT * FROM
Эти лишние данные нагружают сервер
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: ActiveDataProvider выборка всех данных.

Сообщение Onotole »

sandrain писал(а):Я про сам запрос MySQL говорю, что там SELECT * FROM
Эти лишние данные нагружают сервер
DataProvider передает в GridView тот запрос, который Вы для него подготовили.
Выбирайте те колонки, которые нужны

Код: Выделить всё

$query = Model::find()->select(['column1', 'column2']);
$dataProvider = new ActiveDataProvider([
    'query' => $query
]);

...

GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'column1',
        'column2',
        ...
    ]
]);
 
Ответить