Arrays 使用Cakephp表单助手提交数组
我有下面的formhelper代码,$spot是一个变量数组:Arrays 使用Cakephp表单助手提交数组,arrays,forms,cakephp,submit,helper,Arrays,Forms,Cakephp,Submit,Helper,我有下面的formhelper代码,$spot是一个变量数组: echo $form->create('Spot', array('controller' => 'spots', 'action' => 'view')); echo $form->hidden('spotdata', array('value' => $spot)); echo $form->end('Vie
echo $form->create('Spot', array('controller' => 'spots', 'action' => 'view'));
echo $form->hidden('spotdata', array('value' => $spot));
echo $form->end('View');
当我在控制器中打印r($this->data)时,spotdata为空。formhelper能否接受数组中的值?有没有办法做到这一点?请让我知道,谢谢 否,因为它回显HTML输入标记。值必须是字符串或可以转换为字符串的内容。查看您的HTML源代码。您也可以通过数组并将其放置在单个隐藏输入中,而不是在数组中循环并回显每个键。之后,您可以使用它我注意到您正在将数据发送到视图。更惯用的做法是只将ID发送到视图,然后可以从数据库重新加载数据。在这种情况下,链接就足够了:
echo $this->Html->link('View',
array('controller' => 'spots', 'action' => 'view', $spot['Spot']['id']));
如果您试图保持页面之间的状态,您可能会发现使用SessionComponent
更容易、更安全地执行此操作(永远不要信任从客户端发送回来的数据)。在控制器方法中,这非常简单:
$this->Session->write('Spot.spotData', $spot);
及
读回数据。k谢谢。我只是循环遍历并将每个key=>值作为隐藏输入进行回显
$spot = $this->Session->read('Spot.spotData');