在Laravel

时间:2017-05-16 05:34:16

标签: php laravel laravel-5 laravel-5.3 laravel-5.4

在我的For循环条件中,如果从客户表单发布购买ID,则记录将被更新,否则记录将被插入。

更新将完美运行但插入不起作用。当我使用echo查询时,它将插入新的Record。我的问题是什么..我的代码在下面。

$countproducts=count($data['product']);     

    $producttotalamount=0;
    $productvatamount=0;
    $productgrandtotalamount=0; 

    for($i=0; $i<$countproducts; $i++){

    $producttotalamount += $data['quantity'][$i]*$data['prodct_rate'][$i]; 
    $productvatamount += ($data['vatpercentage'][$i]/100)*($data['quantity'][$i]*$data['prodct_rate'][$i]); 
    $productgrandtotalamount += ($data['quantity'][$i]*$data['prodct_rate'][$i]) + (($data['vatpercentage'][$i]/100)*($data['quantity'][$i]*$data['prodct_rate'][$i]));

    if($data["purchaseitemsid"][$i] == ''){ 

    $insprdtotamts=$data['quantity'][$i]*$data['prodct_rate'][$i]; 
    $insprdvatamts=($data['vatpercentage'][$i]/100)*$insprdtotamts; 
    $insprdgrdtotamts=($data['quantity'][$i]*$data['prodct_rate'][$i]) + (($data['vatpercentage'][$i]/100)*$insprdtotamts);

    $insertpurchaseitemsrecord=Purchaseitems::Create(['purchaseid' => $data['hdnid'],'product' => $data['product'][$i],'quantity' => $data['quantity'][$i],'unit' => $data['unit'][$i],'add_quantity' => $data['quantity_add'][$i],'add_unit' => $data['unit_add'][$i],'product_rate'=>$data['prodct_rate'][$i],'product_amount' => $insprdtotamts,'vat_percentage' => $data['vatpercentage'][$i],'vat_amount' => $insprdvatamts,'prod_total_amount'=>$insprdgrdtotamts,'company_id'=>$companyids,'user_id' => $usersid,'created_by' => $usersid,]);    

    } else {    

    $updprdtotamts=$data['quantity'][$i]*$data['prodct_rate'][$i]; 
    $updprdvatamts=($data['vatpercentage'][$i]/100)*$updprdtotamts; 
    $updprdgrdtotamts=($data['quantity'][$i]*$data['prodct_rate'][$i]) + (($data['vatpercentage'][$i]/100)*$updprdtotamts); 

    $updateqry= Purchaseitems::where('id', $data['purchaseitemsid'][$i])->update(['product' => $data['product'][$i],'quantity' => $data['quantity'][$i],'unit' => $data['unit'][$i],'add_quantity' => $data['quantity_add'][$i],'add_unit' => $data['unit_add'][$i],'product_rate' => $data['prodct_rate'][$i],'product_amount' => $updprdtotamts,'vat_percentage' => $data['vatpercentage'][$i],'vat_amount'=>$updprdvatamts,'prod_total_amount'=>$updprdgrdtotamts,'updated_by' => $usersid,]);       

    }   

    }

2 个答案:

答案 0 :(得分:0)

  • dd($ data)并检查在插入操作时是否获得id,在执行插入操作时应为null或为空

答案 1 :(得分:0)

Laravel案例:

使用此:Purchaseitems::create($array);代替Purchaseitems::Create($array);

或者

$pItem  = new Purchaseitems();
$pItem->purchaseid = $setPurchaseid;
  ...
  ...
  ...
$pItem->save();