我们说我有两张桌子:
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
在这两种情况下都是......有没有正确的方法?
答案 0 :(得分:0)
public $belongsTo = array(
'Drink' => array(
'className' => 'Drink',
'foreignKey' => 'morning_drink_id'
)
);
这可以添加到用户模型。这就是如何做到的。
编辑:
Bake期待你的两个外键表,并且它正在抱怨它们。当我删除'morning_drinks'视图时,我得到了与你相同的错误,否则它创建了全部。添加这两个视图,然后重试。