2016-12-14 74 views
1

當我的視圖上的單選按鈕值是「新」時,我想將數據從表單存儲到數據庫的兩個表中,但是發生了以下問題。但如果價值是「現有」,它的工作正常。 我的代碼有什麼問題?Laravel數組到字符串轉換錯誤

陣列到字符串轉換(SQL:插入customerscompany_nameaddressservice_idtc_nametc_depttc_phonetc_emailbill_namebill_deptbill_phonebill_emailupdated_atcreated_at)值(PT銀行ABC,JL Suddiman,1,Budi,技術,0812345678,[email protected],Joko,財務,08123456789,[email protected],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" => "[email protected]" 
    "bill_name" => "Joko" 
    "bill_dept" => "Finance" 
    "bill_phone" => "08123456789" 
    "bill_email" => "[email protected]" 
    "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> 
+1

請張貼的dd'的結果($請求 - >所有()) ' –

+0

可以請你分享單選按鈕添加html代碼 – Sona

+0

嗨,我已經更新了我的問題代碼 – rafitio

回答

1

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

$customer->service_id = json_encode(service_id); 

,並存儲在textjson列:

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

謝謝,它的工作 – rafitio

1

試圖改變這兩個單選按鈕的ID,你不能設置相同ID的不同元素,它會表現不同

0
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>