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'],
                ]);
            }
        }

Заранее спасибо...

0 ответов

Другие вопросы по тегам