Нарушение ограничения целостности, когда я не загружаю файл (skipOnEmpty) - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть возможность загрузить изображение для таблицы ошибок моего приложения.Когда я загружаю изображение файла, это работает, но если файл пуст, возникает ошибка :

«Нарушение ограничения целостности»

Мои правила :

public function rules()
{
    return [
        [['nm_bug', 'description', 'date_from','module'], 'required'],
        [['id_bug'], 'integer'],
        [['nm_bug', 'image_file'], 'string', 'max' => 100],
        [['description'], 'string', 'max' => 300],
        [['image_file'], 'file', 'extensions'=> 'png,gif,jpg', 'skipOnEmpty' => true],
        [['module'], 'string', 'max' => 100],
    ];
}

Мой контроллер :

public function actionCreatebug()
{
    $model = new Bug();
    $current_image = $model->image_file;
    if ($model->load(Yii::$app->request->post())) {
        $img = UploadedFile::getInstance($model, 'image_file');
        if(!empty($img)){
            $image = $model->nm_bug.rand(1, 1000) . '.' . $img->extension;
            $image_path = 'bug/' . $image;
            $img->saveAs($image_path);
            $img = $image_path;
            $model->save();
        }
        else{
            $model->image_file = $current_image;
            $model->save();
        }
        yii::$app->session->setFlash('success', 'Data Berhasil Disimpan');
        return $this->redirect(['moduls/view', 'id' => $model->module]);
    }

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

Как я могу это сделать?

...