PHP如何在使用Laravel

时间:2015-06-23 18:29:26

标签: php jquery arrays laravel dimensional

我正在使用Laravel 5开发一个HTML表单,它将二维数组作为输入。目的是存储一些联系人,并且JQuery可以动态地追加或删除每个联系人的输入字段。

我想使用空括号[],这样就不需要维护索引了。所以我尝试了2例HTML表单输入代码。以下是简化示例:

案例1:

Person 1:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">

Person 2:
<input type="text" name="contacts[][surname]">
<input type="text" name="contacts[][first_name]">
<input type="checkbox" name="contacts[][VIP]">

但我使用die dump检查的数组,即dd($request->input('contacts'));返回:

array:4 [
  0 => array:1 ["surname" => "Some Value" ]
  1 => array:1 ["first_name" => "Some Value" ]
  2 => array:1 ["surname" => "Some Value" ]
  3 => array:1 ["first_name" => "Some Value" ]
]

让我们忘记现在的复选框输入,因为它未检查时根本不返回任何内容。话虽如此,我已将其包含在此处,以防它成为问题的根源。

案例2

Person 1:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">

Person 2:
<input type="text" name="contacts[surname][]">
<input type="text" name="contacts[first_name][]">
<input type="checkbox" name="contacts[VIP][]">

模具转储,即dd($request->input('contacts'));返回以下:

array:2 [
  "surname" => array:2 [
    0 => "Some Value"
    1 => "Some Value"
  ]
  "first_name" => array:2 [
    0 => "Some Value"
    1 => "Some Value"
  ]
]

我想要什么

这给我们带来了问题。这是我期望的结果:

array:2 [
  0 => array:2 [
    "surname" => "Some Value"
    "first_name" => "Some Value"
  ]
  1 => array:2 [
    "surname" => "Some Value"
    "first_name" => "Some Value"
  ]
]

有没有办法做到这一点,如果是的话,我该如何实现呢?这是否意味着我必须保持一个索引?

1 个答案:

答案 0 :(得分:0)

试试这个。

Person 1:
<input type="text" name="contacts[0][surname]">
<input type="text" name="contacts[0][first_name]">
<input type="checkbox" name="contacts[0][VIP]">

Person 2:
<input type="text" name="contacts[1][surname]">
<input type="text" name="contacts[1][first_name]">
<input type="checkbox" name="contacts[1][VIP]">