init() для ActiveRecord

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
GHopper
Сообщения: 83
Зарегистрирован: 2017.06.05, 10:53

init() для ActiveRecord

Сообщение GHopper »

Приветсвую.

Имею шаблон модели, сгенерированный через gii и унаследованную от \yii\db\ActiveRecord.

В контроллере сгенерирован экшен update, в котором создается модель через $model = $this->findModel($id);.

На этом этапе все отлично, модель создается, подгружает нужные данные и рендерится.

Теперь я хочу провести некоторую инициализаию данных сразу после того, как модель создана. Создаю публичный метод init() и обнаруживаю, что на этапе его вызова модель вообще не заполнена. Не подгружены никакие данные. Хотя в контроллер после $model = $this->findModel($id); возвращается модель со всеми необходимыми данными.

Собственно вопрос - где поймать этот момент, когда данные уже загружены в модель, но ее создание еще не завершено (и, соответственно, она не возвращена в контроллер).
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: init() для ActiveRecord

Сообщение skynin »

afterFind
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
GHopper
Сообщения: 83
Зарегистрирован: 2017.06.05, 10:53

Re: init() для ActiveRecord

Сообщение GHopper »

skynin писал(а): 2018.05.24, 20:45afterFind
Бинго! Спасибо.
Ответить