Laravel 6: сохранение данных в сводную таблицу
У меня есть таблица Sale
а также Product
эта ссылка many-to-many
друг другу.
В Product Schema
Schema::create('products', function (Blueprint $table) {
$table->bigIncrements('id');
...
$table->double('price');
....
});
in product_sale Schema
Schema::create('product_sale', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('sale_id')->nullable();
$table->unsignedBigInteger('product_id')->nullable();
$table->integer('quantity')->default(1);
$table->double('unit_price');
$table->integer('discount')->nullable()->default(0);
$table->timestamps();
$table->foreign('sale_id')->references('id')->on('sales')->onDelete('set null');
$table->foreign('product_id')->references('id')->on('products')->onDelete('set null');
});
Конечно, я хочу запросить price
из продукта сохранить в unit_price
в product_sale
Таблица..
Интересно, есть ли способ архивировать это??
And Here in SaleController
if(isset($request->items)) {
foreach($request->items as $item) {
$sale->products()->attach($item['id'], [
'unit_price' => $item['unit_price'],
'quantity' => $item['quantity'],
'discount' => $item['discount'],
]);
}
}
Заранее спасибо...