我在CakePHP应用程序中有两个模型:用户和组。起初,我没有两者之间的关系。现在在数据库表组中,我手动添加列user_id,这样现在我在两者之间有以下关系:
Groups belongsTo Users
Users hasMany Groups
现在,由于某种原因,我一直得到以下错误:
1054: Unknown column 'Group.user_id' in 'field list'
我试着运行CakePHP的bake命令,看看Cake是否会自动检测到我的两个模型之间的关系。当我尝试烘焙用户模型时,CakePHP甚至没有检测到用户和组之间存在hasMany关系。你知道为什么会发生这种情况,我怎样才能解决这个问题吗?
非常感谢。
也许我误解了你想要什么样的联想,但我可以想象:
用户属性到组
一个组有许多用户
示例用户模型:
class User extends AppModel {
public $belongsTo = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'group_id'
)
);
}
示例组模型:
class Group extends AppModel {
public $hasMany = 'User';
}
用户表将需要一个组id
字段。
所有这些都假设您希望每个用户有一个组。如果您希望用户拥有多个组,那么您可能希望在用户和组之间定义HABTM关系,或者研究访问控制列表可能会为您指明更好的方向(我还没有利用Cake的ACL组件)。
不管怎样,我强烈建议查看关于关联:将模型联系在一起的蛋糕书页面。