【问题标题】:CAKEPHP 1.2 CHECKBOXESCAKEPHP 1.2 复选框
【发布时间】:2012-09-08 10:39:13
【问题描述】:

我在从数据库的列中获取复选框的多个值时遇到问题。

在我的数据库中,我在一列中得到了“9,10”的值

但是,在编辑视图中我只得到了 9,这意味着只有值为 9 的复选框被选中。

如何确保值 9 和 10 的复选框都在编辑视图中被选中

我认为我需要爆炸 9,10 的值。但我不知道我该怎么做。

控制器

 <?php $categories = $this->Product->Category->find('list',array('conditions' =>    
 array('parent_id !=' => 0),'order' => array('Category.name ASC')));

 $this->set(compact('subcategories')); 
 ?>

查看(管理员编辑)

 <?php 
 echo $form->create('Product', array('action' => 
 'edit','class'=>'cmxform','id'=>'form2','type' => 'file'));

 echo $form->input('category_id', array('multiple' => 'checkbox', 'label' => 
 false,'validate'=>'required:true','options'=>$categories)); 

 echo $form->end('Save',array('class' => 'btn')); 
 ?>

【问题讨论】:

  • 在你的代码中你设置了 $this->set(compact('subcategories'));是子类别还是类别。如果是类别,那么您只需向数组添加一个选项 echo $form->input('category_id', array('multiple' => 'checkbox', 'label' => false,'validate'=>'required :true','options'=>$categories, 'selected' => $categories));否则,请说明具体要求。

标签: php cakephp cakephp-1.3 cakephp-2.0 cakephp-1.2


【解决方案1】:

您可以在模型 afterFind() 回调中将其分解: http://book.cakephp.org/2.0/en/models/callback-methods.html#afterfind

【讨论】:

  • 请注意在您的答案中添加更多 cmets。为什么你认为这会奏效?它是如何工作的,与 OP 问题有关
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多