Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP:同一模型的多个链接_Php_Cakephp_Cakephp Model - Fatal编程技术网

CakePHP:同一模型的多个链接

CakePHP:同一模型的多个链接,php,cakephp,cakephp-model,Php,Cakephp,Cakephp Model,假设每本书都有AuthorA和AuthorB字段。 这两个字段都是作者表的外键 带有字段的表作者:id | name 带字段的表格图书:id | name | a|u author_id | b|u author_id| 如何设置控制器、模型和视图,以便能够创建一本包含“作者a”和“作者b”下拉列表的书,这两个列表都来自作者表?在图书模型的“添加”视图中,author-a(和author-b)的表单输入看起来如何?您需要在图书模型中设置2个belongsTo关联,并为author模型设置不同的别

假设每本书都有AuthorA和AuthorB字段。 这两个字段都是
作者
表的外键

带有字段的表作者:id | name

带字段的表格图书:id | name | a|u author_id | b|u author_id|


如何设置控制器、模型和视图,以便能够创建一本包含“作者a”和“作者b”下拉列表的书,这两个列表都来自作者表?在图书模型的“添加”视图中,author-a(和author-b)的表单输入看起来如何?

您需要在
图书
模型中设置2个belongsTo关联,并为
author
模型设置不同的别名

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

使用
$this->Book->a author->find('list')
获取作者列表,设置数组以查看和指定相同的数组,使用
'options'
a\u author\u id
b\u author\u id
字段键入
Form->input()
选项,也可以使用
hasandbelongtomany
关系。为了实现这一点,您必须更改数据库设计,在对书籍进行排序/筛选等时,事情可能会变得更加复杂。