@Absky

Как в afterSave передать id новой записи из actionCreate?

А не подскажете как в эту функцию передать id?

public function actionCreate()
    {
        $model = new Products();

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect(['view', 'id' => $model->id]);
        }

        return $this->render('create', [
            'model' => $model,
        ]);
    }


protected  function afterSave(){
        parent::afterSave();
        if($this->isNewRecord){
            $model = Products::findOne($model->id);
            $model->image = UploadedFile::getInstance($model, 'image');
            if($model->image){
                $model->upload();
            }
        }
    }
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
protected  function afterSave(){
        parent::afterSave();
        if($this->isNewRecord){
            $model = Products::findOne($this->id);
            $model->image = UploadedFile::getInstance($model, 'image');
            if($model->image){
                $model->upload();
            }
        }
    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
А как у Вас в afterSave оказалась переменная $model? Из воздуха?
Наверное $this надо использовать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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