代码之家  ›  专栏  ›  技术社区  ›  Udders

自言自语

  •  0
  • Udders  · 技术社区  · 7 年前

    我有一个包含所有用户的用户表。我的应用程序允许家长和他们的孩子通过他们自己的电子邮件地址,但我需要能够说,“孩子1,是一个相关的家长1和家长2”我想存储在同一个表中,这似乎是一个多个关系,所以很多用户可以属于任何数量的其他用户。

    我的尝试只打到了网。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Tim Lewis    7 年前

    我认为你会像对待其他多对多关系一样来表达这一点;唯一的区别是这是一样的 User 模型同时具有默认关系和反向关系:

    public function parents(){
       return $this->belongsToMany(User::class, "users_users", "user_id", "parent_id");
    }
    
    public function children(){
        return $this->belongsToMany(User::class, "users_users", "parent_id", "user_id");
    }
    

    user_id parent_id

    我能看到的唯一一个问题是,如果这是一个问题的话,那就是尝试递归地得到孩子们的孩子,否则,这应该适用于基本的多对多。

    推荐文章