Как заставить yii\db\Query вернуть объект?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Как заставить yii\db\Query вернуть объект?

Сообщение azz »

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

$result = (new yii\db\Query)
->select(...)
->from(...)
->innerJoin(...)
...
->all()
Такой запрос возвращает массив. Как можно вернуть объект?
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Как заставить yii\db\Query вернуть объект?

Сообщение someweb »

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

ActiveRecord::find()
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Как заставить yii\db\Query вернуть объект?

Сообщение azz »

someweb писал(а): 2018.02.22, 14:51

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

ActiveRecord::find()
возвращает только поля основной таблицы, а мне надо получить поля из таблиц, которым делается join
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как заставить yii\db\Query вернуть объект?

Сообщение andku83 »

либо для необходимых полей создать публичные переменные (одноименные полям в запросе) в классе через который делается запрос
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Как заставить yii\db\Query вернуть объект?

Сообщение azz »

в общем простого способа нет...
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как заставить yii\db\Query вернуть объект?

Сообщение andku83 »

идти в программирование - это далеко не простой способ зарабатывания денег...
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Как заставить yii\db\Query вернуть объект?

Сообщение dmg »

azz писал(а): 2018.02.22, 14:48

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

$result = (new yii\db\Query)
->select(...)
->from(...)
->innerJoin(...)
...
->all()
Такой запрос возвращает массив. Как можно вернуть объект?
попробуйте

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

$result = (new yii\db\Query)
->select(...)
->from(...)
->innerJoin(...)
...
->createCommand()->queryAll( \PDO::FETCH_CLASS)
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Как заставить yii\db\Query вернуть объект?

Сообщение azz »

dmg писал(а): 2018.02.22, 21:03 попробуйте

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

$result = (new yii\db\Query)
->select(...)
->from(...)
->innerJoin(...)
...
->createCommand()->queryAll( \PDO::FETCH_CLASS)
получилось, спасибо!
Ответить