在laravel中从视图表单中分隔相同类别的输入数据

时间:2015-01-28 05:32:46

标签: php laravel-4

当表单字段固定为

<form name="" action="">
     <input type="text" name="username">
     <input type="text" name="password">
     <input type="email" name="email">
     <input type="submit" value="submit">
</form>

然后我们从使用中收集数据 $input_data = Input::all();此代码并插入数据库中的特定用户名和电子邮件字段

但是

如果表格会像

那样
<form name="" action="">
     <input type="text" name="username">
     <input type="text" name="password">
     <input type="email" name="email">
     <input type="email" name="email_1">
     <input type="email" name="email_2">
     <input type="email" name="email_3">
                   ......
                   ......
                   ......
                   ......
     <input type="email" name="email_15">

     <input type="submit" value="submit">
</form>

然后 在控制器$input_data = Input::all();中 获取所有值,但我的具体问题是如何分隔所有电子邮件和用户名,密码值

我的数据库结构是[ username, password, emails ]我想在电子邮件字段中保存所有电子邮件

注意:电子邮件是通过javascript动态添加的形式。因此所有时间总电子邮件数量都不相同

1 个答案:

答案 0 :(得分:1)

我不是百分百肯定我明白你在问什么,也不熟悉Laravel,但是如果你试图用同一类型的多个表单输入让自己更容易,而不必担心唯一的名字,试试使用数组字段:

<form name="" action="">
     <input type="text" name="username">
     <input type="text" name="password">
     <input type="email" name="email[]">
     <input type="email" name="email[]">
     <input type="email" name="email[]">
     <input type="email" name="email[]">
     <input type="email" name="email[]">
     <input type="submit" value="submit">
</form>

它将作为单个电子邮件阵列出现,您可以轻松地使用foreach进行迭代。如果您尝试将一系列电子邮件保存到一列中,则可以implode()电子邮件阵列(尽管在一列中以逗号分隔的字符串存储一堆电子邮件可能不是最好的主意)。

无论如何,我不确定这是否有帮助...你可能需要澄清我所说的是不合适的。