如何在laravel中发送和处理一对多请求

我正在使用库存系统,我在收银员添加要购买的物品的部分。因此,我在该特定模块中使用的表是 sales 和 sale_items。所以关系是 1 sale 有很多 sale_items。


所以我的问题是。如何在不使用ajax的情况下一次性发送请求。目前我正在使用 ajax,但我的控制器需要身份验证。我关闭了身份验证以使 ajax 请求工作。下面是我想在没有 ajax 的情况下发送的示例请求正文。


sales{

   date_sold: 04/01/2019,

   discount: 2000,

   branch_id

   sales_item: 

   {

      product_id: 1,

      quantity: 20,

      unit_price: 200

   },

   {

      product_id: 2,

      quantity: 40,

      unit_price: 100

   },

   {

      product_id: 3,

      quantity: 50,

      unit_price: 300

   }

}

我想分别将这些数据插入到 sales 和 sales_item 表中。我如何在 Laravel 中处理它?


梦里花落0921
浏览 152回答 3
3回答

呼唤远方

在 sales 和 sale_items 之间创建关系,您可以在控制器中执行以下代码。$sale = App\Sale::Find($id);$saleItems = collection([..]);foreach($saleItems as $item)  {     $sale->saleItems()->create([         'sale_id' => $item->sale_id,     ]);}

米脂

如果您的问题只是身份验证,为什么不使用 laravel 护照来处理 API 身份验证?这个没有ajax的前端。<form action="{{route('your route')}}" method="post">{{csrf_field()}}<input type="date" name="date_sold"><input type="integer" name="discount"><select name="branch_id" id="">&nbsp;<option value=""></option>&nbsp;<option value=""></option></select><!--&nbsp; sales item --><select name="product_id[]" id="">&nbsp;<option value=""></option>&nbsp;<option value=""></option></select><input type="number" name="quantity[]" id=""><input type="number" name="unit_prize[]"></form>并根据要求,您将获得 sale_items 作为数组数据。
打开App,查看更多内容
随时随地看视频慕课网APP