У меня возникла следующая проблема:
Я хотел бы создать запись модели с помощью Pivot. Сохраняя это, я получаю эту ошибку:
"message": "SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
(`homestead`.`product_bundle_product_product_bundle_product_attribute`, CONSTRAINT `pb_product_attribute` FOREIGN KEY
(`product_bundle_product_attribute_id`) REFERENCES `product_bundle_product_)
(SQL: insert into `product_bundle_product_product_bundle_product_attribute`
(`custom`, `price`, `product_bundle_product_attribute_id`, `product_bundle_product_id`, `title`, `type`, `unit`, `value`)
values (1, 2, 1, 1, Test, decimal, GB, 16))",
"exception": "Illuminate\\Database\\QueryException",
"file": "/home/vagrant/code/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
"line": 665,
Это миграция, которая относится к этому:
Schema::create('product_bundle_product_product_bundle_product_attribute', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('product_bundle_product_id')->unsigned();
$table->bigInteger('product_bundle_product_attribute_id')
->unsigned();
$table->boolean('custom')->nullable();
$table->string('title')->nullable();
$table->string('unit')->nullable();
$table->string('type')->nullable();
$table->text('value')->nullable();
$table->float('price')->nullable();
$table->foreign('product_bundle_product_id', 'pb_product')
->references('id')
->on('product_bundle_products')->onDelete('cascade');
$table->foreign('product_bundle_product_attribute_id', 'pb_product_attribute')
->references('id')
->on('product_bundle_product_attributes')
->onDelete('cascade');
});
Я смог запустить миграцию без проблем, но один разЯ пытаюсь sync
это, я получаю ошибку выше.
Это мое sync
заявление:
$result = [ 1 => [
'custom' => true,
'title' => "Test",
'unit' => 'GB',
'type' => "decimal",
'price' => 2,
'value' => 16
]];
$this->productAttributes()->sync($result);
Я видел в сообщении об ошибке, что что-то вырезановыкл:
REFERENCES product_bundle_product_
где это должно быть product_bundle_product_attributes
, верно?