В процессе чтения документации по 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