@bizzonaru

Yii2 Как правильно сделать следующий момент в beforeSave()?

При сохранение модели нужно зная её id сделать изменения в других таблицах. Для случая, когда запись (модель) уже существует, можно сделать так, а как для новой реализовать?

public function beforeSave($insert)
    {
        if (parent::beforeSave($insert)) {

            $post = Yii::$app->request->post();
            
            if($this->isNewRecord) {
                // здесь это модель не существует, но надо как то тоже вызвать метод $this->UpdateLanguages($post); 
            } else {
                
                $this->UpdateLanguages($post); // Здесь функция добавляет для модели с id  список поддерживаемых языков, в частности из формы выбирается список с несколькими языками.

            }
            

            
            return true;
        }
        return false;
   }
  • Вопрос задан
  • 423 просмотра
Пригласить эксперта
Ответы на вопрос 1
@NosFire
В beforeSave() нету записи в базе и нету соответственно ИД, либо предсказывай ИД сам, либо посмотри в сторону afterSave()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы