2011-12-03 90 views
1

我有一个返回$this->data的表单助手保持为空的问题。在我的表格之前没有问题,我无法弄清楚这里有什么不同。 对于此表单,不存在包含数据的模型,它只是用于执行搜索的用户输入。

这是我的看法:

<?php 
echo $this->Form->create(); 
echo $this->Form->input('Postleitzahl'); 
$options=array('10'=>10,'20'=>20); 
echo $this->Form->input('Entfernung',array('type'=> 'select' , 'options'=>array(($options)))); 
echo $this->Form->end('Suchen'); 
?> 
+0

也可以执行'debug($ this-> data)'来确定你的动作 – Ross

+0

也许你可以直接从$ this-> params使用它? – Henri

回答

2
<?php 

    echo $this->Form->create(null, array('type' => 'post')); # not sure if that's needed 
    echo $this->Form->input('Search.Postleitzahl'); 
    $options=array('10'=>10,'20'=>20); 
    echo $this->Form->input('Search.Entfernung',array('options'=> $options)); # seems shorter and should work 
    echo $this->Form->end('Suchen'); 

?> 

以上应导致到含有类似以下内容的$this->data数组:

['Search'] 
    ['Postleitzahl']: 102929 
    ['Enfernung']: 'foobar' 
1

只是不要双数组你的数组:

'options'=>$options 
+0

改变了......但仍然是相同的..问题,也许这是因为它不代表数据库中的模型,我必须声明输入变量? – Tolga

+1

应该总是有一些模型。要么使用“假”模型名称,如“表单”以便在控制器中使用发布的数据 - 或者甚至更好地使用带有$ useTable = false的真实模型(这样,您可以在不使用任何实际表格的情况下对表单进行验证)。 – mark

0

不一定与Cake相关,但是当我拥有它时,问题的答案是:如果您在POST中包含文件上传,请仔细检查您上传的文件是否不大于您的文件中指定的限制php.ini文件。