query доступ к переменным

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

query доступ к переменным

Сообщение kukuruku »

есть возможность перехватить обращение к переменной, которая описана в select?
т.е. $query->select('p') затем при вызове $model->p вызвать что либо похожее на __get
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: query доступ к переменным

Сообщение rak »

ну так можно как раз метод __get в модели и переопределить и там уже отлавливать :)
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: query доступ к переменным

Сообщение kukuruku »

делал но не перехватывает почему то
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: query доступ к переменным

Сообщение kukuruku »

добавлю что эти переменные чисто виртуальные, считаются через expression
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: query доступ к переменным

Сообщение zelenin »

$query и $model - это разные объекты. что где когда перехватывать и причем здесь __get?
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: query доступ к переменным

Сообщение dmg »

если $query->select('p') в модели AR объявите public $p;
или универсальный способ

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

  $command=$query->createCommand();
    $command->fetchMode=[\PDO::FETCH_CLASS,__CLASS__];
      $res = $command->queryAll( );
Последний раз редактировалось dmg 2017.02.24, 23:36, всего редактировалось 1 раз.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: query доступ к переменным

Сообщение rak »

поковырялся в исходниках, можно в общем в модели переопределить метод hasAttribute или canSetProperty(если указывать вычисляемые поля в модели - не вариант)
ну и + __set и __get тогда тоже нужно переопределить
frid-karatel
Сообщения: 50
Зарегистрирован: 2017.03.06, 15:37
Откуда: Владивосток

Re: query доступ к переменным

Сообщение frid-karatel »

А просто public $p разве не годится?
Ответить