php + laravel,数量回来了

问题描述 投票:-1回答:2

我有3张桌子(salessales_detailbicycle)。我不知道如何取回我的数量(sales)到单位平衡(bicycle)然后删除sales_detail条目因为我要更新新的销售。

public function edit(Request $request, $id) {

    $sales = Sales::find($id);
    $sales_details = SalesDetail::where('sales_id', $id)->get();
    $bicycles = Bicycle::where('sales_id', $id)->get();
    foreach ($bicycles as $bc && $sales_details as $sd) {
        $bc->unit_balance = $sd->quantity + $bc->unit_balance;
        //then delete sales_detail
    }

    return view('sales/edit', array( 
        'sales' => $sales, 
        'sales_details' => $sales_details, 
        'bicycles' => $bicycles
    ));
}
php html laravel oop
2个回答
1
投票

我建议在你的模型中使用Elequents关系,比如'belongssto'和'hasmany'来更好地准备数据。遵循此练习将允许您在开发期间简化查询。你的方法非常混乱/新手和程序。

结帐https://laravel.com/docs/5.8/eloquent-relationships


0
投票

public function edit(Request $request, $id) {

    $sales = Sales::find($id); // get sales where sales_id = 40
    $sales_details = SalesDetail::where('sales_id', $id)->get();

    return view('sales/edit', array( 'sales' => $sales,
    'sales_details' => $sales_details ));
  }

  public function update(Request $request, $id) {

    $sales = Sales::find($id);
    $sales_details = SalesDetail::where('sales_id',$id)->get();

    foreach ($sales_details as $sales_dtl) {
      $bicycle = Bicycle::find($sales_dtl->bicycle_id);
      $bicycle->unit_balance = $bicycle->unit_balance + $sales_dtl['quantity'];
      $bicycle->save();
      $sales_dtl->delete();
    }
    $this->saveData($sales,$request);

    return redirect()->route('sales.index');
  }
i get my answer already
© www.soinside.com 2019 - 2024. All rights reserved.