【问题标题】:Update multiple table更新多个表
【发布时间】:2020-08-22 11:57:27
【问题描述】:

如何更新这两个表,我有2个表,订单和产品,我想更新订单上的产品数据,我用下面的代码来做,但是产品不想更新

  public function update(Request $request, $id , Product $product)
{
    $request->validate([
        'do_code' => 'required',
        'delivery_date' => 'required',
        'qty' => 'required',
        'user_id' => 'required',
        'customer_id' => 'required',
        'armada_id' => 'required',
        'send_from_id' => 'required',
    ]);

    $data = Delivery_order::find($id);
    $data->update($request->all());
    if (count($request->product_name) > 0) {
        foreach ($request->product_name as $item => $v) {
            $data2 = array(
                'order_id' => $id,
                'product_name' => $request->product_name[$item],
                'qty' => $request->qty[$item],
                'tonise' => $request->tonise[$item]
            );
            $product->update($data2);
        }
    }
    return redirect('/do')->with('success', 'Data Successfully Updated');
}

【问题讨论】:

  • “但产品不想更新”?为什么?有什么错误吗?
  • 用相关路线和错误更新您的问题(如果有)。在每个循环中更新相同产品的目的是什么?没有意义。
  • 向我们展示您的 $id 和 $product,在请求验证之前使用 dd($id)

标签: php mysql laravel laravel-5.8 insert-update


【解决方案1】:

这样使用

 $product->order_id     = $id,
 $product->product_name = $request->product_name[$item],
 $product->qty          = $request->qty[$item],
 $product->tonise       = $request->tonise[$item]     
 $product->save();

【讨论】:

    【解决方案2】:

    我想,你可以使用Laravel Relationship 来更新第二张表。

    【讨论】:

      猜你喜欢
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 2012-12-25
      相关资源
      最近更新 更多