Получение результатов запроса через Active Record в массив

В процессе чтения документации по Active Record к Yii2 был обнаружен интересный метод с помощью которого данные можно получить сразу в массив, вместо стандартного объекта. В некоторых случаях это может быть довольно полезно. Собственно сам метод: asArray(), применять его можно вместе с любым методом получения данных из AR, например так:

$allUser = User::find()->asArray()->all();

В итоге в переменной $allUser окажется массив со всеми записями из бд, которой соответствует модель User.

Но и это еще не все, так как мы получаем только массив, Yii не приходится делать два дополнительных запроса, в нашем случае это были запросы:

SHOW CREATE TABLE `user`
SHOW FULL COLUMNS FROM `user`

Конечно эти запросы довольно быстрые, особенно в сравнении с выборкой всех пользователей, но на них тоже тратится определенной время.

comments powered by HyperComments
2015-10-26 05:06:25
Подробности по работе с <a href="http://infoblog1.ru/learn/cms/yii/vsyo-o-activerecord-v-versii-yii-2.0">active record на yii2</a>
При копировании материалов обратная ссылка на play-stop.ru желательна обязательна!