@kirill-93

Laravel FirstOrCreate Integrity constraint violation?

Есть модель ParamsValue:
Schema::create('params_values', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('param_id')->unsigned();
            $table->string('name');
            $table->timestamps();

            $table->foreign('param_id')
                ->references('id')
                ->on('params')
                ->onUpdate('cascade')
                ->onDelete('cascade');
        });

При попытке создать новое значение :
$param_value = ParamsValue::firstOrCreate(['id' => $id, 'param_id' => $param_id]);
                        $param_value->param_id = $param_id;
                        $param_value->name = $name;
                        $param_value->save();

Получаю ошибку:
MassAssignmentException in Model.php line 424:
id

Мне нужно, чтобы, если нет значения с таким id и param_id, создать новое значение с нужным param_id.
  • Вопрос задан
  • 431 просмотр
Решения вопроса 2
Denormalization
@Denormalization
Комментировать
У вас в модели, а конкретно в поле protected $fillable = [...]; указаны id и param_id? При том ещё вас не смущает что id у вас инкрементируется? Зачем вы указываете его?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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