la -vel

时间:2015-12-30 17:42:21

标签: laravel laravel-5.1 database-schema

我是Laravel的新手,我正在尝试在开始之前设计正确的数据库架构设计方法。

所以,这是交易:

  • 我正在创建一个用户应该创建帐户的应用程序。我需要一个users模型/ db表。这里没问题。
  • 这些用户可以提及他们的一些朋友。这些朋友应该能够注册并成为合法用户,否则他们就不会。
  • 我想先制作两张桌子,但由于朋友也可以成为用户,我认为将它们添加到users表是非常合乎逻辑的(在未注册的情况下使用未注册的标志)。

问题是,我认为Laravel能够在用户和用户之间自动建立正确的n-n关系,但我也希望允许第一批用户为他们的朋友添加假名。在“常规”数据库中,我会在关系数据库中添加假名字段,但是Laravel是否可以,以及如何实现?

读完自己之后,我可能不太自我解释。 Si,这是可能的用户故事:

  • 我创建了自己的帐户
  • 我用他的电子邮件提到了我的朋友鲍勃,它创建了一个只有电子邮件的新用户,以及我和鲍勃之间的关系我称之为“朋友”
  • Alice创建了自己的帐户,并提到了bob。它将她的用户帐户与bob的链接相关联,但在重新关系表中,她称之为“sweetie”
  • Bob创建了自己的帐户。其用户数据库条目以他的个人信息/笔名完成,但Alice和我仍然认为他是朋友/亲爱的

抱歉这是健谈。

1 个答案:

答案 0 :(得分:0)

你应该像你提到的那样做。

  1. 为所有用户创建用户表 - 用户可以登录,因此在此处使用基本用户模型是个好主意。

  2. 创建一个假名表,即1:n - 每个用户都可以给他的炒菜一个新的假音。但每个朋友只有1个假名,或者?如果有人设置,你可以用假名返回他的“用户对象”,但仅限我作为usern。在此使用Mutators:https://laravel.com/docs/5.2/eloquent-mutators

  3. 创建一个n:n表,您可以在其中将UserID与UserID连接,在此处显示ab:https://laravel.com/docs/5.2/eloquent-relationships

  4. 我真的会尝试在这里使用Eloquent,这使它更具可读性。