gpt4 book ai didi

php - ORM:友谊/好友关系

转载 作者:可可西里 更新时间:2023-10-31 23:32:50 26 4
gpt4 key购买 nike

我是第一次尝试使用 ORM,我定义了这样的模型:

用户模型:

class User extends Eloquent
{
public function friends()
{
return $this->has_many_and_belongs_to('User', 'friends', 'user1_id', 'user2_id');
}
}

好友模型:

class Friend extends Eloquent
{
public function friend()
{
return $this->belongs_to('User', 'user_id');
}
}

friend mysql表:

id (pkey) # user1_id(引用 users.user_id)# user2_id(引用 users.user_id)

现在通过使用 $user->friends 我得到了一个单边列表,因为 friends 数据库参数可以按任何顺序排列(user1 是 user2 的 friend OR user2 是用户 1) 的 friend 。如果我尝试使用关注/关注者方法,这会没问题,但我希望它是互惠的。

做这类事情的最佳方法是什么?在数据库中插入重复的 user1/user2 和 user2/user1 听起来不是一个好方法,我什至不知道如何将其转换为 ORM。此外,似乎 Friend 模型根本没有被使用/被调用。

我在邀请好友系统上也会遇到类似的问题。

最佳答案

您正在寻找用户之间的多对多关系!查看如何在 Doctrine 中执行此操作:Doctrine - Many to Many Self Referencing .Doctrine 示例可能会帮助您入门。

这个想法是你有一个实体,用户,他们可以彼此成为 friend 。

关于php - ORM:友谊/好友关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com