Cakephp “有很多”;透过「;关系与多选形式

Cakephp “有很多”;透过「;关系与多选形式,cakephp,form-helpers,Cakephp,Form Helpers,我正在运行cakephp 2.0.2,我有以下关系 Category hasMany CategoryWork Work hasMany CategoryWork CategoryWork belongs to Category,Work 每个蛋糕的文档中都有许多经典的关系 我有一个带有选择框的工作添加/编辑表单,允许用户选择多个类别。我遇到的问题是,当用户编辑现有作品时,关联的类别不是预先选择的 我有以下代码来填充选择框,它实际上起作用: $categoryWorks

我正在运行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对我来说更神奇:)

我的理论是,cake查看的是从工作查询返回的CategoryWork行的id,它与下拉列表中填充的类别的id不匹配。它需要查看类别id

对此有何想法?我觉得我快到了,我只是错过了一些可以帮助蛋糕完成它的事情


提前谢谢

你查过Hasandbelongnamy的关系吗

基本上,它是这样工作的:Category has和belong使用CategoryWork进行任何工作