Прежде чем вы начнете давать голосование или пометить как дублированный, прочитайте:
Я прочитал Невозможно добавить или обновить дочернюю строку, ограничение внешнего ключа не выполнено и это не мой случай,
- У меня есть существующая запись
- моя таблица поддерживает каскад при удалении.
- У меня также есть мои столбцы без знака, обнуляемые
- коды указаны ниже
Проблема
Я пытаюсь сохранить связанные данные в 3-й таблице с именем product_attributes
с помощью метода sync
, который получает product_id
и attribute_id
Код
schema
public function up()
{
Schema::create('product_attributes', function (Blueprint $table) {
$table->increments('id');
$table->integer('product_id')->nullable()->unsigned();
$table->integer('attribute_id')->nullable()->unsigned();
});
Schema::table('product_attributes', function (Blueprint $table) {
$table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
$table->foreign('attribute_id')->references('id')->on('attributes')->onDelete('cascade');
});
}
product model
public function attributes(){
return $this->belongsToMany(Attribute::class, 'product_attributes', 'product_id', 'attribute_id');
}
attribute model
public function products(){
return $this->belongsToMany(Product::class);
}
product controller
$product->save()
$product->attributes()->sync($request->attributes, false);
blade
<select class="form-control" name="attributes[]" id="attributes" multiple="multiple">
@foreach($attributes as $attribute)
<option value="{{ $attribute->id }}">{{ $attribute->title }}</option>
@endforeach
</select>
Ошибка
вот что я получаю:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`shopping`.`product_attributes`, CONSTRAINT `product_attributes_attribute_id_foreign` FOREIGN KEY (`attribute_id`) REFERENCES `attributes` (`id`) ON DELETE CASCADE) (SQL: insert into `product_attributes` (`attribute_id`, `product_id`) values (*parameters, 3))
Кто-нибудь может помочь с этим?
Обновление
Вот что я получаю, когда отправляю свои данные контроллеру
![one](https://i.stack.imgur.com/nKh94.png)