我正在建立一个学校项目,我的想法是建立一个网站,您可以在其中注册一个帐户,将几个用户添加到该帐户,然后计算他们的每月共享费用债务,例如用户A在杂货上支付500,而用户B仅支付250.这使用户B在该月向用户A支付125的债务。
我的问题是我想将帐户与用户分开。现在我设置了一个名为Accounts with email with password的表,然后我有一个包含特定用户信息的users表。我希望有几个人能够使用不同的凭据登录同一个帐户。
用户表
ID, Name, Account_id etc.
帐户表
ID, Email, Password, date_added, date_updated etc.
这样做的最佳方法是什么?它是否有一个名为UsersForAccounts的交叉表,还是在Users-table中指定了几个account_id?
答案 0 :(得分:1)
您不会将其视为一个帐户中的多个用户。您可以将其视为共享公共组设置的多个用户帐户。
所以你有一个你可能期望的用户表 - 显然每个人都有自己的价值观。
然后你有一个相关的表来共享该组的详细信息。我们以博爱或其他东西为例。 所以你有Pi Phi作为一个团体名称。其中包括用户A,B和C. 一个非常非常基本的表结构可能如下所示:
Users: id, email, password, name, group_id
Group: id, name
因此,用户将 - 通过此设置 - 只与一个组有关系。您可以将其设为关系表,以便用户可以根据需要创建多个组。
这里的一般想法是您将该组用作与用户的单独连接点,而不一定是使用同一帐户访问的多个用户。
如果不清楚,请随时提出,我可能会更新
答案 1 :(得分:0)
您可以使用用户表格中的结构:
ID, Name, etc.
在帐户表格中使用最简单:
ID, Email, Password, date_added, date_updated, User_ID, etc
这称为多对一关系,非常适合您的情况。
我可以传递给你的一个小提示是对你的所有字段使用LOWERCASE,或者使用字段名称的第一个字符的特殊字符,并带有“ID”的摘录(这只是首字母缩略词(或类似)) 识别)
在一个基本示例中,用户表包含以下字段:
ID, name, etc.
帐户表格上面的结构:
ID, email, password, date_added, date_updated, user_id
这在短时间内无济于事,但它可以帮助您,并且非常重视PHP使用数据库。