Здравствуйте,
У меня возникла необходимость при сохранении модели делать кое-какие действия.
Поэтому я создал в модели метод - public function beforeSave($insert).... в который поместил необходимый код...
Если конкретно, то это отправка СМС через сервис SMS.ru
Но получилось, что и при работе метода update() данной модели сообщение также отправляется...
А мне этого совсем не нужно.
Подскажите, пожалуйста, как грамотно решить этот вопрос?
Спасибо!
beforeSave
Re: beforeSave
там true/false при добавлении true ... при обновлении false
- Yii Gagayiin
- Сообщения: 18
- Зарегистрирован: 2016.10.02, 02:09
Re: beforeSave
Re: beforeSave
нет в save true/false отвечает за валидацию
то есть если вы уже сами отвалидировали то чтоб при сохранении еще раз не повторялась валидации можете передать false
а в beforeSave($insert)
зависит от того новая модель или нет ... то есть если это новая модель (new Model) то в $insert прийдет true и в базу будет запрос INSERT INTO .....
а если это не новая модель (Model::find()->one()) то придет false? а в базу это запрос UPDATE
то есть если вы уже сами отвалидировали то чтоб при сохранении еще раз не повторялась валидации можете передать false
а в beforeSave($insert)
зависит от того новая модель или нет ... то есть если это новая модель (new Model) то в $insert прийдет true и в базу будет запрос INSERT INTO .....
а если это не новая модель (Model::find()->one()) то придет false? а в базу это запрос UPDATE
Re: beforeSave
Лучше это делать в afterSave. Ато модель не сохранится, а смс уже отправлено
Re: beforeSave
Код: Выделить всё
if ($insert) {
...
}