我正在运行cakephp 2.0.2并且我有以下关系
Category hasMany CategoryWork
Work hasMany CategoryWork
CategoryWork belongs to Category,Work
每个蛋糕的文档都有经典的关系。
我有一个工作添加/编辑表单,其中包含一个允许用户选择多个类别的选择框。我遇到的问题是当用户编辑现有作品时,不会预先选择相关的类别。
我有以下代码来填充选择框,这实际上有效:
$categoryWorks = $this->CategoryWork->Category->listCategories();
$this->set(compact('categoryWorks'));
然后我的输入字段如下所示:
<?= $this->Form->input('CategoryWork', array('multiple' => true, 'label' => 'Categories')); ?>
这将填充选择字段,但不会使用工作的相关类别预先选择它。
所以,我可以解决这个问题。我只是为输入调用提供了一个选定的选项,我得到了我预先选择的类别。但我期待cakephp对我来说更神奇:)
我的理论是,蛋糕正在查看从工作查询返回的CategoryWork行的ID,并且它与下拉列表中填充的类别的ID不匹配。它需要查看category_id。
对此的想法?我觉得我快到了,我只是错过了一些东西来帮助蛋糕做点什么。
提前致谢!
答案 0 :(得分:0)
您是否检查过hasAndBelongsToMany关系?
基本上它的工作方式如下:Category hasAndBelongsToMany使用CategoryWork工作