Php Laravel 5.2刀片中的动态形状元素名称
我试图创建一个表单来更新表中的多行数据。该表有四列(cola、colb、colc、cold)。我在视图中使用foreach循环动态生成表单。目前我正在使用Php Laravel 5.2刀片中的动态形状元素名称,php,arrays,forms,blade,laravel-5.2,Php,Arrays,Forms,Blade,Laravel 5.2,我试图创建一个表单来更新表中的多行数据。该表有四列(cola、colb、colc、cold)。我在视图中使用foreach循环动态生成表单。目前我正在使用 text('cola[][cola]', $this->cola... 然后向下到name,然后填充表单字段。除了返回一个由四个数组组成的数组(cola、colb、colc、cold)之外,它工作得很好,因此我将所有cola值放在一个数组中,将所有colb值放在另一个数组中,以此类推 我希望返回提交的每一行的数组,这样我的结果类似于
text('cola[][cola]', $this->cola...
然后向下到name,然后填充表单字段。除了返回一个由四个数组组成的数组(cola、colb、colc、cold)之外,它工作得很好,因此我将所有cola值放在一个数组中,将所有colb值放在另一个数组中,以此类推
我希望返回提交的每一行的数组,这样我的结果类似于
0(cola=3, colb=7, colc=2, cold=99)
这样我就可以通过for-each循环访问这些值。然而,我是HTML补救型的,似乎无法在表单元素上获得正确的名称来实现这一点。我知道答案是显而易见的,但我经常遇到我不想要的数组,或者只提交最后一行的数据
编辑澄清
使用
text('row[$this->key][cola]'
或
使用$i作为迭代器将生成一个名为$i或$this->key的数组,该数组只返回提交的最后一行。删除引号,如中所示
text(row[$i][cola]
结果是未定义的常量,因为字符串是预期的
我最接近成功的是
text('row['<php echo $i ?>'][cola]'
text('row[''][cola]'
这实际上正确命名了表单元素,但破坏了元素本身。它们呈现为纯文本,而不是输入框。在这一点上我真的有点疯狂。'
用于字符串文本,您需要插值,“
”
先从行开始,然后是cols?即,
text('row[][cola]”,$this->cola…
,它只提交表单的最后一行。如果行名称中包含数组括号,则不会提交。它将返回所有行括号,因为它是一个数组。使用行括号作为名称的一部分,如{text('row[][cola]')…}结果在每个元素被分配它自己的数组。因此,如果我有10行,我将返回40个单独的数组。哦,我明白你的意思。对不起,我的快速代码不清楚。你需要在$row中使用计数器。text('row[$incrementer][cola]“
如果您在for循环中,请使用该循环的增量。否则,请向foreach循环中添加一个新的$i++。因此,在第四列之后,您将在下一行中增加$i。
text('row['<php echo $i ?>'][cola]'
$a = 'hi';
echo "$a there";
// hi there