Database design (CakePHP)数据库设计帮助

Database design (CakePHP)数据库设计帮助,database-design,cakephp,Database Design,Cakephp,我不知道如何使用Cake的约定来设置它。我有一个用户表(相当标准:id(pk,自动递增)、用户名、密码)、一个组表(也相当标准:id、name、user_id)和一个练习表(像医生的练习,而不是像“熟能生巧”)。该练习表将由一个用户(属于dr组)拥有,并且将由零个或多个属于该练习的其他用户(并且是标准成员)拥有 这是我的想法的一张非常粗略的图: user ---(belongs to)---> group | | +<----(belongs to)---- practi

我不知道如何使用Cake的约定来设置它。我有一个用户表(相当标准:id(pk,自动递增)、用户名、密码)、一个组表(也相当标准:id、name、user_id)和一个练习表(像医生的练习,而不是像“熟能生巧”)。该练习表将由一个用户(属于dr组)拥有,并且将由零个或多个属于该练习的其他用户(并且是标准成员)拥有

这是我的想法的一张非常粗略的图:

user ---(belongs to)---> group
  |
  |
  +<----(belongs to)---- practice
  |                        ^
  |                        |
  +-------------------(belongs to)
用户---(属于)-->组
|
|
+
我不能只说“practice.owner\u id是一个匹配user.id的外键”,因为Cake不会理解这一点

嗯,你可以。。。只是不是你想的那样

你在练习模型上设置了一个belongsTo。。。机构中的用户id字段将是所有者。然后,在您的用户模型上使用practice_id字段设置另一个belongsTo。如果您愿意,您甚至可以在实践中设置hasMany,将其与用户绑定。只需将所属名称命名为,就会有许多不同的关联。在您的模型中将Practice belongsTo调用为用户关系所有者。然后,当您实际从数据库中提取记录时,您将得到一个所有者数组和一个用户数组(假设适当的$recursive级别)

仔细阅读,可能会让人困惑。。。总而言之:

用户中的关联:

  • 属于实践
实践中的协会:

  • 有很多用户
  • 属于所有者(别名 (适用于用户)

谢谢,听起来正是我需要的。接下来,当你说所有者是用户的别名时,你的意思是我应该创建一个不同的数据库表还是别名是蛋糕别名?对不起,是的,这有点不清楚。。。基本上,它只是你的实践模型中协会的名称。然后,在关联本身中,将Owner的类名设置为User。这里有一个手册页:哦,我错过了那个医生。谢谢我想我现在明白了。