【发布时间】:2014-03-30 12:04:41
【问题描述】:
我有 3 个表:staff、users 和 threads。
员工和用户都可以创建线程,线程属于用户。
在线程中,有一个 user_id (FK - BelongsTo)。问题是,我如何确定谁创建了线程。如果我创建了一个名为 creator_id 的字段,我仍然不知道创建线程的是员工还是用户。
我还尝试了一种不同的方法,创建了一个名为 creator (enum('staff', 'user)) 的字段。这种方法的局限性在于,当我使用 Thread->find() 时,我无法找到检索创建者信息的方法。
为了实现我想要的,我有哪些选择?
【问题讨论】:
-
员工和用户都是可以登录应用程序的最终用户吗?如果是这样,您为什么要以这种方式拆分它们,而不是为用户创建单个模型并添加一个字段来指示他们的“角色”?
-
是的。因为客户端需要将用户保存在另一个表中。所以在这种情况下不能使用角色。