亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Laravel 同時插入兩個表的主鍵和外鍵

使用 Laravel 同時插入兩個表的主鍵和外鍵

PHP
GCT1015 2023-08-19 14:20:44
我有兩個表“發票”,其中“invoice_no”作為主鍵,“invoice_details”以“invoice_no”作為外鍵。我想使用 Laravel 同時將數據插入到兩個表中。問題是當我提交表單時,數據被存儲到發票表中,但沒有存儲到invoice_details中,這給了我外鍵為空的完整性約束違規錯誤。這是控制器代碼:public function insertInv(Request $request){                //insert into invice        $customer_name = $request->input('customer_name');        $c_email = $request->input('c_email');        $c_phone = $request->input('c_phone');        $billing_address = $request->input('billing_address');        $term = $request->input('term');        $order_date = $request->input('order_date');        $due_date = $request->input('due_date');        $discount = $request->input('discount');        $net_total = $request->input('net_total');        $paid = $request->input('paid');        $due = $request->input('due');        $payment_type = $request->input('payment_type');        $invoice_msg = $request->input('invoice_msg');                //insert into invoice_details        $invoice_no = $request->input('invoice_no');        $product_name = $request->input('state');        $inven_name = $request->input('country');        $unit = $request->input('unit');        $price = $request->input('price');        $qty = $request->input('cqty');        $sub_total = $request->input('sub_total');        //insert into invoice        $invo=array('customer_name'=>$customer_name,'c_email'=>$c_email,'c_phone'=>$c_phone,'billing_address'=>$billing_address,'term'=>$term,'order_date'=>$order_date,'due_date'=>$due_date,'discount'=>$discount,'net_total'=>$net_total,'paid'=>$paid,'due'=>$due,'payment_type'=>$payment_type,'invoice_msg'=>$invoice_msg );        DB::table('invoice')->insert($invo);                //insert into invoice_details        $invo_det=array('invoice_no'=>$invoice_no,'product_name'=>$product_name,'inven_name'=>$inven_name,'unit'=>$unit,'price'=>$price,'qty'=>$qty,'sub_total'=>$sub_total);        DB::table('invoice_details')->insert($invo_det);                     return redirect()->back();}
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

您可以使用insertGetId方法:


$invoiceId= DB::table('invoice')->insertGetId($invo);? ? ?

$invo_det=array('invoice_no'=>$invoiceId,'product_name'=>$product_name,'inven_name'=>$inven_name,'unit'=>$unit,'price'=>$price,'qty'=>$qty,'sub_total'=>$sub_total);


? ? DB::table('invoice_details')->insert($invo_det);

查看完整回答
反對 回復 2023-08-19
  • 1 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號