我使用连接到mySql数据库的cakePHP框架在php中有一个小应用程序。
我有两种类型的用户(业务和员工),也与其他表有关系。我现在正在添加一个登录工具,这意味着我将添加一个用户表来保存密码详细信息。因此,员工和企业都可以登录。
我不确定以何种方式添加users表与business和employees表之间的关系。我也将添加一个管理员角色。
我目前的表是: - course_files - course_modules - 课程 - courses_employees - 雇员 - 企业
我的选择:
我对这种方法的问题是,企业和员工的字段非常不同,因此用户表将包含很多字段。但它会使登录功能更容易。
将business_id和employee_id添加到users表中。此选项将更加复杂,一个字段将始终为空白,如employee_id。
所以,在我沿着一条路走下去,发现我走向了错误的方向,我想知道什么是最佳做法?
答案 0 :(得分:2)
我不同意你的两种做法。我会有一个用于登录的用户表,以及用于员工和业务的表,就像您在第二种方法中建议的那样。不同之处在于我不会在用户中使用employee_id和business_id,因为正如您已经说过的那样,一个人总是空白。为什么不在两个表中都有user_id,因为它们总是有用户配置文件(用于登录)?我看到你使用CakePHP,所以这些关系如下:
User hasOne Employee
User hasOne Business
Employee belongsTo User
Business belongsTo User
如果您的应用程序中的任何其他业务规则使我的方法难以实现,请告诉我。