如何在cakephp中创建多个表的引用?

时间:2015-03-23 23:43:35

标签: cakephp

我们说我有两张桌子:

CREATE TABLE drinks ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL ); CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, morning_drink_id INT, evening_drink_id INT );

如何使这些drink_id引用有效?

我试过了:

  • 添加视图

    CREATE VIEW morning_drinks AS SELECT * FROM drinks; CREATE VIEW evening_drinks AS SELECT * FROM drinks;

  • 添加外键

    FOREIGN KEY morning_drink_key (morning_drink_id) REFERENCES drinks(id), FOREIGN KEY evening_drink_key (evening_drink_id) REFERENCES drinks(id)

bake在这两种情况下都是......有没有正确的方法?

1 个答案:

答案 0 :(得分:0)

public $belongsTo = array(
    'Drink' => array(
        'className' => 'Drink',
        'foreignKey' => 'morning_drink_id'
    )
);

这可以添加到用户模型。这就是如何做到的。

编辑:

Bake期待你的两个外键表,并且它正在抱怨它们。当我删除'morning_drinks'视图时,我得到了与你相同的错误,否则它创建了全部。添加这两个视图,然后重试。