加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

cakephp预填表格方法得到

发布时间:2020-12-13 17:21:55 所属栏目:PHP教程 来源:网络整理
导读:我有一个搜索表单,我正在使用GET方法提交它.提交表单后,我需要使用提交的值预先填写表单.如果它是POST,蛋糕将自动处理这个,但它不适用于GET.我使用cakephp的表单助手创建了表单和表单控件.有没有简单的方法来预填字段而不是手动设置每个字段? 我正在使用cak
我有一个搜索表单,我正在使用GET方法提交它.提交表单后,我需要使用提交的值预先填写表单.如果它是POST,蛋糕将自动处理这个,但它不适用于GET.我使用cakephp的表单助手创建了表单和表单控件.有没有简单的方法来预填字段而不是手动设置每个字段?
我正在使用cakephp2.x

解决方法

我知道这个问题刚才被问到,但我最近遇到了同样的问题.

当您使用GET时,CakeRequest将不会填充CakeRequest :: data属性.
Form Helper通常使用此属性来填充输入的值.因此,您必须首先使用控制器中某处的GET数据填充此属性.例如:

$this->request->data = $this->request->query;

您的下一个问题是,如果您使用GET,表单助手会忽略您为表单设置的模型.不幸的是,这种行为没有记录,但确实提到了this:

You can also pass false for $model. This will place your form data into the array: $this->request->data (instead of in the sub-array: $this->request->data['Model']). This can be handy for short forms that may not represent anything in your database.

因此,在创建搜索表单时,您需要将模型设置为false.例如:

echo $this->Form->create(false,array('type' => 'get'));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读