CakePHP:单独表中的用户和配置文件

CakePHP:单独表中的用户和配置文件,php,cakephp,Php,Cakephp,在我的应用程序中,我有两个表:用户和配置文件。用户有一个配置文件,配置文件属于用户。我这样做的原因是因为我想让表保持简单,每个表的控制器都更小,例如UserController处理登录、忘记密码等,ProfileController处理编辑、概要视图等 现在,当链接到其他模型时,例如帖子、评论或朋友,我遇到了困境 目前,我通过User_id外键向用户发送邮件和评论,然后在查询中使用contain拉入配置文件信息,但对于朋友,我通过配置文件id链接 那么,什么是更好的选择呢?由于通过个人资料id链

在我的应用程序中,我有两个表:用户和配置文件。用户有一个配置文件,配置文件属于用户。我这样做的原因是因为我想让表保持简单,每个表的控制器都更小,例如UserController处理登录、忘记密码等,ProfileController处理编辑、概要视图等

现在,当链接到其他模型时,例如帖子、评论或朋友,我遇到了困境

目前,我通过User_id外键向用户发送邮件和评论,然后在查询中使用contain拉入配置文件信息,但对于朋友,我通过配置文件id链接

那么,什么是更好的选择呢?由于通过个人资料id链接似乎更好,因为这更为相关,而且将来如果用户有其他内容,例如组或页面(想想Facebook),那么很难区分哪些内容链接到个人资料,哪些内容链接到同一用户的组或页面


我知道这是一个有点悬而未决的问题,但如果其他人能够分享这些想法,尤其是在性能和代码效率方面,这将对我有所帮助。

使用配置文件ID链接朋友对我来说毫无意义(因为朋友是用户表上的递归关系).

使用配置文件ID链接朋友对我来说毫无意义(因为朋友是用户表上的递归关系)。

是的,但是配置文件才是朋友,而不是帐户,对吗?此外,用户是其他潜在对象(如页面或事件)的父帐户,而不仅仅是配置文件…@mark你能详细说明原因吗?根据我所说的关于用户下的潜在“其他”对象的内容,这些对象可能与帖子等有着自己的关系。最初的批评仍然存在:除了这里的用户表本身是一个递归关系模型。谁会关心页面、个人资料、事件或其他任何事情。用户本身,而且只有用户自己是当前登录的“帐户”的主要对象,负责建立这种关系。是的,但是个人资料是朋友,而不是帐户,对吗?此外,用户是其他潜在对象(如页面或事件)的父帐户,而不仅仅是配置文件…@mark你能详细说明原因吗?根据我所说的关于用户下的潜在“其他”对象的内容,这些对象可能与帖子等有着自己的关系。最初的批评仍然存在:除了这里的用户表本身是一个递归关系模型。谁会关心页面、个人资料、事件或其他任何事情。用户本身和唯一用户本身是当前登录的负责建立此关系的“帐户”的主要对象。用户只有一个配置文件是我的设置。因为一个用户只能有一个。所以,如果你把它们的功能分成两个模型,你就不应该把它变成一个有很多关系的模型。我甚至使用与主键相同的ID(配置文件使用用户的),这样连接非常简单,几乎没有开销。因为一个用户只能有一个。所以,如果你把它们的功能分成两个模型,你就不应该把它变成一个有很多关系的模型。我甚至使用与主键相同的ID(配置文件使用用户的ID)-这样连接非常简单,几乎没有开销。