beforeSave() и afterSave() в Yii2

Замечательные методы beforeSave() и afterSave() в Yii2 помогают нам решать различные задачи, к примеру вы хотите перед сохранением в базу поменять формат даты, или сохранить лог действия. Но не все знают как правильно их наследовать.

Начнем с простого afterSave():

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

Теперь beforeSave():

Все практические так же как и с методом afterSave() за исключением того что нам нужно вернуть результат работы родительского метода, иначе мы при вызове метода $model->save() будем получать false, и наша модель не будет сохраняться, при этом мы не будем получать никаких ошибок. Учтите этот момент.

В Yii1 принцип такой же, только там не передаются параметры.

Добавить комментарий