2016-12-14 3 views
1

Я хочу хранить данные из формы на две таблицы в базе данных, когда значение переключателя на моем представлении «новое», но проблема была ниже. Но если значение «существующее», оно работает нормально. что случилось с моим кодом?Ошибка преобразования Laravel в строку

Массив для преобразования строки (SQL: вставить в customers (company_name, address, service_id, tc_name, tc_dept, tc_phone, tc_email, bill_name, bill_dept, bill_phone, bill_email, updated_at, created_at) значения (PT Bank ABC, JL Sudirman, 1, Budi, Technical, 0812345678, [email protected], Joko, Finance, 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

Пожалуйста, пост результат 'дд ($ request-> все()) ' –

+0

вы можете поделиться радиокнопкой, добавил html-код – Sona

+0

привет, я обновил свой код вопроса – rafitio

ответ

1

Проблема в том, что некоторые из свойств $request являются массивами. Вы не можете хранить массив в столбцах integer, string и т. Д. Если вы хотите сохранить их как массивы, вы можете сериализовать их:

$customer->service_id = json_encode(service_id); 

и хранить в text или json столбцов:

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

спасибо, его работа – rafitio

1

Попробуйте изменить идентификатор обоих переключателей, вы не можете установить тот же идентификатор для различных элементов, он будет вести себя по-разному

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>