簡體   English   中英

Laravel數組到字符串轉換錯誤

[英]Laravel Array to string conversion error

當我的視圖上的單選按鈕值為“ new”時,我想將表單中的數據存儲到數據庫的兩個表中,但是發生了以下問題。 但是,如果該值是“ existing”,那么就可以了。 我的代碼有什么問題?

數組到字符串的轉換(SQL:插入customerscompany_nameaddressservice_idtc_nametc_depttc_phonetc_emailbill_namebill_deptbill_phonebill_emailupdated_atcreated_at )值(PT Bank ABC,JL Sudirman,1,Budi,技術,0812345678,budi@abc.co.id,Joko,金融,08123456789,joko@abc.co.id,2016-12-14 11:21:26,2016-12-14 11:21:26))

這是我的商店代碼

if($request->select_data == 'new'){
        $customer = New Customer;
        $customer->company_name = $request->company_name;
        $customer->address = $request->address;
        $customer->service_id = $request->service_id;
        $customer->tc_name = $request->tc_name;
        $customer->tc_dept = $request->tc_dept;
        $customer->tc_phone = $request->tc_phone;
        $customer->tc_email = $request->tc_email;
        $customer->bill_name = $request->bill_name;
        $customer->bill_dept = $request->bill_dept;
        $customer->bill_phone = $request->bill_phone;
        $customer->bill_email = $request->bill_email;
        $customer->save();

        $salesorder = New SalesOrder;
        $salesorder->pid = $request->pid;
        $salesorder->project_name = $request->project_name;
        $salesorder->customer_id = $request->company_id;
        $salesorder->total = $request->totalfee;
        $salesorder->status = 'submit';
        $salesorder->detail = $request->detail;
        $salesorder->save();
    }else{
        $salesorder = New SalesOrder;
        $salesorder->pid = $request->pid;
        $salesorder->project_name = $request->project_name;
        $salesorder->customer_id = $request->company_id;
        $salesorder->total = $request->totalfee;
        $salesorder->status = 'submit';
        $salesorder->detail = $request->detail;
        $salesorder->save();
        //dd($salesorder);
    }

dd($request->all()); 結果

array:32 [▼
  "sales_order_id" => "9"
  "select_data" => "new"
  "company_id" => "2"
  "company_name" => "PT Bank ABC"
  "address" => "JL Sudirman"
  "tc_name" => "Budi"
  "tc_dept" => "Technical"
  "tc_phone" => "0812345678"
  "tc_email" => "budi@abc.co.id"
  "bill_name" => "Joko"
  "bill_dept" => "Finance"
  "bill_phone" => "08123456789"
  "bill_email" => "joko@abc.co.id"
  "pid" => "PID002"
  "project_name" => "Implementasi"
  "order_identifier" => array:2 [▶]
  "service_name" => array:2 [▶]
  "service_id" => array:2 [▶]
  "order_type" => array:2 [▶]
  "select_plan" => array:2 [▶]
  "qty" => array:2 [▶]
  "unit_price" => array:2 [▶]
  "total_price" => array:2 [▶]
  "note" => array:2 [▶]
  "emp_name" => array:1 [▶]
  "emp_id" => array:1 [▶]
  "position" => array:1 [▶]
  "position_id" => array:1 [▶]
  "mandays" => array:1 [▶]
  "detail" => "Coba Coba"
  "totalfee" => "3100"    
  "_token" => "uxmXBwJKHWIoXDSFetU4oRgTiTftYEhhdpx4CaPr"
]

單選按鈕html代碼

<div class="row-fluid select_data">
                        <input name="select_data" id="select_data" type="radio" value="new">
                        <span class="lbl">New</span>
                        <input name="select_data" id="select_data" type="radio" value="existing">
                        <span class="lbl">Existing</span>
                    </div>

問題是因為某些$request屬性是數組。 您不能將數組存儲在integerstring等列中。 如果要將它們存儲為數組,可以序列化它們:

$customer->service_id = json_encode(service_id);

並存儲在textjson列中:

$table->json('service_id');
$table->text('service_id');

嘗試更改兩個單選按鈕的ID,您不能為不同的元素設置相同的ID,否則其行為會有所不同

Try this one

<input name="select_data" name="select_data" type="radio" value="new">
                        <span class="lbl">New</span>
                        <input name="select_data" name="select_data" type="radio" value="existing">
                        <span class="lbl">Existing</span>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM