CakePHP:指向同一模型的多个链接

时间:2013-03-17 05:45:48

标签: php cakephp cakephp-appmodel

让我们说每本书都有AuthorA和AuthorB字段。 这两个字段都是authors表的外键。

表作者的字段:id |名称

带有字段的表格书:id |名字| a_author_id | b_author_id |

如何设置控制器,模型和视图,以便能够创建一个包含来自作者表的“作者a”和“作者b”的下拉列表的书?作者-a(和作者-b)的表单输入如何在Book模型的“Add”视图中显示?

1 个答案:

答案 0 :(得分:1)

您需要在Book模型中为Author模型设置2个不同别名的belongsTo关联。

public $belongsTo = array(
    'AAuthor' => array(
        'className' => 'Author',
        'foreignKey' => 'a_author_id'
    ),
    'BAuthor' => array(
        'className' => 'Author',
        'foreignKey' => 'b_author_id'
    )
);

使用$this->Book->AAuthor->find('list')获取作者列表并设置要查看的数组,并使用'options'选项中的Form->input()键为a_author_id和{{1}指定相同的数组} fields。