2014-10-03 3 views
2

Мне было интересно, как вы получаете доступ к элементам ввода, которые имеют идентификатор или код имени, например. row_1_firstname и row_2_firstname - когда вы точно не знаете, как у вас есть строки, как вы выполняете пакетные вставки и как вы запрашиваете Input :: get или Input :: all() с неопределенным количеством строк для вставки и обновления процедурапакетная обработка в laravel

public function store() 
{ 
    $array = Input::all(); 
    foreach($array as $element) { 
      // do stuff in here 
      // store data in a array for batch insert and update processing 
    } 
} 

ответ

3

Я бы для обозначения входа в виде массивов firstname[] и скрытые входы ids[] с идентификатором для редактирования

public function store() 
{  
    $names = Input::get('firstname'); 
    $ids = Input::get('ids'); 

    for ($i=0, $c = count($ids); $i<$c; ++$i) { 
     echo $names[$i].' was set for id '.$ids[$i]; 
    } 
} 

EDIT

Если вы хотите вставить мю ltiple записи в массив вы можете сделать это следующим образом:

public function store() 
{  
    $names = Input::get('firstname'); 
    $surnames = Input::get('surname'); 

    $data_array = [];  
    for ($i=0, $c = count($names); $i<$c; ++$i) { 
      $record = []; 
      $record['name'] = $names[$i]; 
      $record['surname'] = $surnames[$i]; 
      $data_array[] = $record; 
    } 
    DB::table('users')->insert($data_array); 
} 
+0

так, то как бы вы идти о создании $ data_array, который содержит все массив, который содержит информацию для вставки - как строить массив так Я могу использовать мою модель для чего-то вроде ProductVariations :: insert ($ data_array); – ONYX

+0

это здание, что массив является проблемой, так как я никогда не делал этот тип кода до – ONYX

+0

@ KDM Я добавил пример с вставкой в ​​базу данных –

0

, разделяющей firstnames[] и ids[] и любое другое поле вам нужно, это один из способов, но, безусловно, не самый простой.

Я предлагаю вместо добавления ваших материалов, как:

// assuming you add users 
users[1][firstname] 
users[1][lastname] 
users[2][firstname] 
users[2][lastname] 
... 

конечно users[1] управляются с помощью JS, и это динамический users[i].

Затем в PHP код, который вы можете сделать просто:

$users = Input::get('users'); 

// validate input according to your needs, then: 

DB::table('users')->insert($users); 
Смежные вопросы