我的控制器中有 2 个动作。显示表单并从相关 HABTM 模型中获取表单字段列表的第一个操作。执行搜索和显示结果的第二个操作。
第一个动作:
public function advancedSearch() {
$this->set($this->Restaurant->fetchRelatedData());
}
我也有此操作的视图,它显示表单:advancedSearch.ctp
echo $this->Form->create(null, array(
'type' => 'get',
'url' => '/restaurants/search', 'inputDefaults' => array(
'label' => false,
'div' => false
)));
echo $this->Form->input('companyname', array('label' => 'Name:'));
echo $this->Form->input('addr', array('label' => 'Address:'));
echo $this->Form->input('district_id', array('label' => 'District:'));
echo $this->Form->input('Station', array('label' => 'Subway station(s):'));
// etc.
echo $this->Form->end('Go!');
如您所见,此表单将数据发送到执行实际搜索的第二个操作。我需要提一下,我在搜索操作中使用了分页组件,因此我使用了 GET 方法。
我的问题是用户可能会选择一些“简单”字段和一些多选字段,发送表单,然后他可能想要优化搜索结果。因此,我需要实现将数据传递回我的表单并使用用户之前选择的值填充字段的功能。我怎样才能做到这一点?谢谢。