在我的简单系统中,有一个用户表,用户登录和密码以及客户表。
用户可以通过3种不同的方式与客户建立联系。 1)销售代表给客户 2)该客户产生的铅 3)此代表输入的客户帐户
最初我计划将所有客户放在客户桌上: customers.user_id customers.lead_id customers.entered_by_id。
使用CakePHP这是错误的方法吗?应该如何设计? 我是CakePHP新手一天。
答案 0 :(得分:1)
在不了解您正在构建的内容和您的要求的情况下,我会这样做:
users
:包含仅身份验证信息
users.role
:用于查询特定用户的角色(客户,销售代表,管理员等)users.username
users.password
sales_representatives
:包含销售代表数据
sales_representatives.user_id
:将销售代表数据链接到特定用户customers
:包含客户数据
customers.user_id
:将用户链接到特定用户(假设您希望他们登录,如果不是,则可以跳过此处)customers.sales_representative_id
:将客户链接到销售代表。您可能希望在单独的表中存储特定客户的销售代表历史记录,但此字段只是当前的销售代表。customers.lead_id
:指向此客户来自的特定潜在客户的链接。如果它是入站而不是潜在客户,则可以为null,但可能会链接到有用的内容。leads
:包含潜在客户数据
leads.sales_representative_id
:包含给定潜在客户的当前销售代表。与customers表一样,您可能希望在单独的表中存储给定潜在客户的历史销售代表列表。如果潜在客户可以登录,您也可以选择将user_id
添加到潜在客户表中,但系统可能不是这种情况。
你的entered_by_id
是什么?这似乎更像是与潜在客户相关的ID,在这种情况下,您可能希望在潜在客户表中跟踪(与sales_representative_id
分开)。
这些东西大部分都不是与CakePHP相关的,尽管良好的架构规划将大大有助于使用CakePHP:)