2016-06-16 25 views
0

我掙扎訪問所有在Laravel輸入數組數據,因爲我先前沒有問題:例如,$ _ POST [「名」] [$行]訪問輸入數組數據Laravel 4.2表

我也收到以下錯誤,但我認爲這是因爲NULL數據。
SQLSTATE [42S22]:柱未找到:1054未知列 '0' 在 '字段列表'

POST數據:

name Array ([0] => name1 [1] => name2) 
dob Array ([0] => 06/23/16 [1] => 06/03/16) 
gender Array ([0] => 1 [1] => 0) 

循環:

$jobID = 2; 
$data = array(); 
foreach(Input::get('name') as $row=>$name){ 

    $dob = Input::get('dob'.$row); 
    $gender = Input::get('gender'.$row); 

    $data[] = "['job_id' => '$jobID', 'first_name' => '$name', 'dob' => '$dob', 'gender' => '$gender']"; 

} 

$data_insert = implode(',', $data); 

if(!empty($name)) { 
    DB::table('job_data')->insert([ 
     $data_insert 
    ]); 

} 

所得SQL:

insert into `job_data` (`0`) 
values (
    ['job_id' => '2', 'first_name' => 'name1', 'dob' => '', 'gender' => ''], 
    ['job_id' => '2', 'first_name' => 'name2', 'dob' => '', 'gender' => ''] 
) 

回答

1

你不必串聯你的數據,只是簡單地使用這個

$data[] = [ 
    'job_id' => $jobID, 
    'first_name' => $name, 
    'dob' => $dob, 
    'gender' => $gender 
]; 

DB::table('job_data')->insert($data); 
+0

打擊之前的評論將其插入。謝謝,這會照顧未知列錯誤,但我的數據除名稱外仍爲NULL。 – Klav

+1

更改你的行$ dob = Input :: get('dob'。$ row);到$ dob = Input :: get('dob')[$ row];並且還與性別 – Ronald

+0

或Input :: get(「dob。$ row」); – Ronald