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

如何在cakephp中创建对表的多个引用?,cakephp,Cakephp,假设我有两张桌子: 创建桌上饮料 id INT自动递增主键, 名称VARCHAR255不为空 ; 创建表用户 id INT自动递增主键, 名称VARCHAR255不为空, 早上喝点什么, 晚上喝点什么 ; 我怎样才能使那些饮料id证明有效 我试过: 添加视图 从饮料中选择*创建查看早晨饮料; 从饮料中选择*创建查看晚间饮料; 添加外键 外键morning\u Dike\u KEY morning\u Dike\u id引用drinksid, 外键晚上\饮料\关键晚上\饮料\ id参考d

假设我有两张桌子:

创建桌上饮料 id INT自动递增主键, 名称VARCHAR255不为空 ; 创建表用户 id INT自动递增主键, 名称VARCHAR255不为空, 早上喝点什么, 晚上喝点什么 ;

我怎样才能使那些饮料id证明有效

我试过:

添加视图

从饮料中选择*创建查看早晨饮料; 从饮料中选择*创建查看晚间饮料;

添加外键

外键morning\u Dike\u KEY morning\u Dike\u id引用drinksid, 外键晚上\饮料\关键晚上\饮料\ id参考drinksid

在这两种情况下都要烤克拉。。。有合适的方法吗

public $belongsTo = array(
    'Drink' => array(
        'className' => 'Drink',
        'foreignKey' => 'morning_drink_id'
    )
);
您可以将其添加到用户模型中。这就是如何做到这一点

编辑:


Bake正在为你的两个外键准备桌子,它正在抱怨它们。当我删除“morning_Diverses”视图时,我遇到了与您相同的错误,否则它会创建所有。添加这两个视图,然后重试。

什么版本的Cakephp?您不需要创建SQL视图,也不需要创建外键。您只需要在模型中创建正确的hasMany和belongsTo条目。3.0中提到了外键。看起来我应该在使用bake后添加这些关系。在您的帮助下,bake也会为您添加这些关系。烘焙停止时出现了什么错误?错误如下:`$bin/cake bake all users Creating file~/test/TestCase/Controller/userscocontrollertest.php编写了~/test/tests/TestCase/Controller/userscocontrollertest.php异常:SQLSTATE[42S02]:找不到基表或视图:1146表'drinksdb.morning\u drinks'[~/test/vendor/cakephp/cakephp/src/Database/Schema/Collection.php,第130行]2015-03-25 09:38:36错误:[Cake\Database\Exception]SQLSTATE[42S02]:找不到基表或视图:1146表'drinksdb.morning\u drinks'不存在```