我在 aa 视图中有一个简单的表单,我正在尝试访问 $this=>passedArgs 但它返回为空。
我实际上正在尝试使用使用 $this=>passedArgs 的 cakeDC 搜索插件。从表单提交中获取结果一定是我没有做过的简单事情。
查找视图
<?php
echo $this->Form->create('Member', array(
'url' => array_merge(array('action' => 'find'), $this->params['pass'])
));
echo $this->Form->input('name', array('div' => false));
echo $this->Form->submit(__('Search'), array('div' => false));
echo $this->Form->end();
?>
控制器
public function find() {
debug($this->passedArgs);
exit;
}
我试过 $this->request->params
array(
'plugin' => null,
'controller' => 'members',
'action' => 'find',
'named' => array(),
'pass' => array(),
'isAjax' => false
)
我已将方法添加到表单中。这个问题之前已经被问过,但是他们在公共 $uses = array('order', 'product'); 中使用小写的解决方案;什么时候应该公开 $uses = array('Order', 'Product'); 不工作。
Cakephp 2.3.5 版
谢谢你的帮助
更新:
我已将表单设置为方法 get,这是 url:
http://localhost/loyalty/members/find?name=searchtext
我已经删除了插件,但我仍然没有得到任何 $this->passedArgs,但我现在得到了 $this->request->data['name'] 的数据。一旦我把 public $components = array('Search.Prg'); 我再次注意到 $this->request->data['name']。
我用搜索插件再次尝试了 $this->Prg->parsedParams() ,我只是得到了 array()