为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
梦里花落0921 2021-10-22 14:21:27
我正在使用库存系统,我在收银员添加要购买的物品的部分。因此,我在该特定模块中使用的表是 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 中处理它?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

在 sales 和 sale_items 之间创建关系,您可以在控制器中执行以下代码。


$sale = App\Sale::Find($id);


$saleItems = collection([..]);


foreach($saleItems as $item)  { 

    $sale->saleItems()->create([

         'sale_id' => $item->sale_id, 

    ]);

}


查看完整回答
反对 回复 2021-10-22
?
米脂

TA贡献1836条经验 获得超3个赞

如果您的问题只是身份验证,为什么不使用 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="">

 <option value=""></option>

 <option value=""></option>

</select>

<!--  sales item -->

<select name="product_id[]" id="">

 <option value=""></option>

 <option value=""></option>

</select>

<input type="number" name="quantity[]" id="">

<input type="number" name="unit_prize[]">

</form>

并根据要求,您将获得 sale_items 作为数组数据。


查看完整回答
反对 回复 2021-10-22
  • 3 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信