如何在数据库的同一列中保存多个行输入?

How to save multiple inputs of rows in the same column of database?

数据库table

id  | title | reading | writing | speaking

form.blade.php

<table><tr>
    <th>Language</th>
    <th>Reading</th>
    <th>Writing</th>
    <th>Speaking</th>
</tr>
<tr>
    <td>
        <input name="TitleText_1" id="TitleText_1"/></td>
    <td>
        <select name="ReadingText_1" id="ReadingText_1">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
        </select>
    </td>
    <td>
        <select name="langWrittingText_1" id="WrittingText_1">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
        </select>
    </td>
    <td>
        <select name="SpeakingText_1" id="SpeakingText_1">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
        </select>
    </td>
</tr>
<tr>
    <td>
       <input name="TitleText_2" id="TitleText_2" /></td>
    <td>
        <select name="ReadingText_2" id="ReadingText_2">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
        </select>
    </td>
    <td>
        <select name="WrittingText_2" id="WrittingText_2">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
    </select>
    </td>
    <td>
        <select name="SpeakingText_2" id="SpeakingText_2">
        <option value="High">High</option>
        <option value="Medium">Medium</option>
        <option value="Low">Low</option>
        </select>
    </td>

LanguageController.php

   $languages = Language::create(array

   (

   'title' => $input['TitleText_1'],

   'reading' => $input['ReadingText_1'],

   'writting' => $input['WrittingText_1'],

   'speaking' => $input['SpeakingText_1'],
$languages->save();

  ));

我想要将控制器代码保存到数据库中。因为有多个相同标签的输入。

如何获取控制器中的所有输入?另外如何将多个输入保存到同一列的数据库中?我是Laravel 4.2.

的新手

像这样使用同名的多个输入

<input name="TitleText[]" />
<select name="ReadingText[]" >
...
<select name="langWrittingText[]">
...
<select name="SpeakingText[]">
...

这样数据就会以数组的形式贴出来。 假设所有inputs/select都需要用户填写

在你的控制器中你可以做这样的事情

$count = count($input['TitleText']); // here we will know how many entries have been posted
$languages = array();
for($i=0; $i<$count; $i++){
   if(!empty($input['TitleText'][$i])){
     array_push($languages, array( // iterate through each entry and create an array of inputs
      'title' => $input['TitleText'][$i], 
      'reading' => $input['ReadingText'][$i], 
      'writting' => $input['WrittingText'][$i],
      'speaking' => $input['SpeakingText'][$i]
     ));
   }
}
Languages::insert($languages); // save the array of models at once

希望对您有所帮助。