2016-06-16 2 views
0

내가 이전에 문제없이했다으로 내가 Laravel의 입력 배열의 모든 데이터에 액세스하기 위해 사투를 벌인거야 : 예를 들어, $ _POST [ '이름'] [$ 행]액세스 입력 배열 데이터 Laravel 4.2 양식

나는 또한 다음과 같은 오류가 나타납니다,하지만 그것은 NULL 데이터 때문에 가정합니다.

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 '필드리스트'

POST 데이터 1,054 알 열의 '0'
SQLSTATE [42S22]없는 열

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); into $ dob = Input :: get (dob ') [$ row]; 또한 성별이 – Ronald

+0

이거나 Input :: get ("dob. $ row"); – Ronald