Php 更新查询工作,在Laravel中插入查询不工作(如果有)

Php 更新查询工作,在Laravel中插入查询不工作(如果有),php,laravel,laravel-5,laravel-5.3,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.3,Laravel 5.4,在我的For循环条件下,若购买Id是从客户表单发布的,那个么记录将被更新,否则记录将被插入 更新将正常工作,但插入无效。使用echo查询时,将插入新记录。我的问题是什么。。我的代码如下 $countproducts=count($data['product']); $producttotalamount=0; $productvatamount=0; $productgrandtotalamount=0; for($i=0; $i<$coun

在我的For循环条件下,若购买Id是从客户表单发布的,那个么记录将被更新,否则记录将被插入

更新将正常工作,但插入无效。使用echo查询时,将插入新记录。我的问题是什么。。我的代码如下

$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,]);       

    }   

    }
$countproducts=count($data['product']);
$producttotalamount=0;
$productvatamount=0;
$productgrandtotalamount=0;
对于($i=0;$i$data['hdnid'],'product'=>$data['product'][$i],'quantity'=>$data['quantity'][$i],'unit'=>$data['unit'][$i],'add\u quantity'=>$data['quantity\u add'][$i],'add\u unit'=>$data['unit\u add'][$i],'product\u rate'=>$data['product\u'=>$rate'=>$data['product][$i],'product du rate''=>$i],'dut\dtu金额'=>增值税百分比,[$i]],“增值税金额”=>$INSPRDVATAMS,'prod\U总额”=>$insprdgrdtotamts,'company\U id'=>$COMPANYID,'user\U id'=>$usersid,'”由“=>$usersid,]”创建者];
}否则{
$updprdtotamts=$data['quantity'][$i]*$data['Product_rate'][$i];
$UPDPRDATAMTS=($data['VAT百分比][$i]/100)*$UPDPRDOTAMTS;
$updprdtotamts=($data['quantity'][$i]*$data['Product\U 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\unit'=>$data['unit'=>unit\'add'][$i],'produce'=>data[$i],“产品金额”=>$updprdtotamts,'vat\U百分比”=>$data['VATTERAGENT'][$i],'vat\U金额”=>$updprdvatamts,'prod\U总金额'=>$UPDPRDRDTOTAMTS,'UPDPRDGRDTTOTAMTS','updated\U by'=>$usersid,]];
}   
}
  • dd($data)并检查在执行插入操作时是否获取id,在执行插入操作时id应为null或空
      • dd($data)并检查在执行插入操作时是否获取id,在执行插入操作时id应为null或空
      Laravel案例: 使用以下命令:
      Purchaseitems::create($array)而不是
      Purchaseitems::Create($array)

      或 拉拉维尔案件: 使用以下命令:
      Purchaseitems::create($array)而不是
      Purchaseitems::Create($array)


      首先检查它是否在else部分中,它是否在notYah,它的coming Both部分@jyothi是否存在表中没有默认值的列,并且您没有在insert查询中传递该值??我建议您使用
      updateOrCreate
      函数。。比这简单得多..首先检查$updateqry=Purchaseitems::where('id',$data['purchaseitemsid'][$i])->get();打印($updateqry);是否有特定id的行,如@Karthikfirst检查它是否在else部分内,它同时在两个部分内@jyothi是否存在表中没有默认值的列,并且您没有在插入查询中传递该值??我建议您使用
      updateOrCreate
      函数。。比这简单得多..首先检查$updateqry=Purchaseitems::where('id',$data['purchaseitemsid'][$i])->get();打印($updateqry);确实为特定id设置了行,如@KarthikIts Return Posted Value@Nikhil Radadiya你能把它贴在这里吗?它的返回值@Nikhil Radadiya你能把它贴在这里吗?不工作@Raschedule Islam SagorNot不工作@Raschedule Islam Sagor
      $pItem  = new Purchaseitems();
      $pItem->purchaseid = $setPurchaseid;
        ...
        ...
        ...
      $pItem->save();