2016-12-14 73 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>