表朋友:id、用户id、朋友id。
表用户配置文件:id、用户id、名字。。。
如何通过雄辩的ORM获得用户的朋友列表?
用户id:5 |朋友id:6
user_id: 6|friend_id5
类似问题:
与拉拉维尔的友谊系统:多对多关系
拉维尔
我无法理解是谁调用了getFriendsAttribute()方法。
以及如何做到这一点查询生成器。
谢谢
您可以在用户
模型上定义关系:
class User extend Model
{
...
// Get list of who sent me a friend request
public function myFriends()
{
return $this->belongsToMany(get_class($this), 'friends', 'friend_id');
}
// Get the list of friends whom I invited
public function friendsOf()
{
return $this->belongsToMany(get_class($this), 'friends', 'user_id', 'friend_id');
}
// Merge
public function getFriendsAttribute()
{
return $this->myFriends->merge($this->friendOf);
}
}
然后您可以通过$user获取用户的好友列表-
问题内容: 我正在尝试与Laravel创建一个友谊系统(我从它开始),但是我被各种关系所困扰。事情是这样的:有一个表Users和一个表Friends,其中包含以下列: 它看起来像“多对多”,所以这是我在User类上设置的: 但是当我尝试一个: 我有这个错误: 我想获取用户好友列表,无论用户发送邀请还是收到邀请都无所谓。因此,用户可以根据user_id或friend_id,然后根据该列检索其他用户的
问题内容: 我正在编写一个友谊系统,它有两个表。 成员 ID 用户名 密码 朋友们 ID 用户身份 friend_id 状态 假设我想要一个可以选择成员$ userId的朋友ID的查询,如何在一个查询中做到这一点? 我找到了一个解决方案,可以进行2次查询。拳头选择朋友在哪里,第二个选择朋友在哪里,然后将它们混合成一个数组。如果没有其他解决方案,我将使用它。 请对SQL结构和查询有任何想法吗? 问题
问题内容: 伙计们,我正在努力为我的公司制作一个简单的票证生成系统,以吸引人。目前,我的MSSQL数据库中有一个名为的表,另一个名为的表。 我的应用程序是C#Windows窗体,因此在新的票证生成窗体上,我有许多文本框和一个用于分配工程师的comboBox,由填充。生成票证后,以这种形式输入的所有信息都将与from一起存储。 效果很好,但是后来我的客户要求我添加选项,以便可以在一张票上分配3名工程
问题内容: 我目前正在使用ActiveAndroid,并且在过去的几个小时里一直在尝试建立多对多关系,但是我还是无法正常工作。我希望你能帮助我: 我有“学生”和“课程”的模型,一个学生可以有很多课程,而一个课程有很多学生。基本上,这就是我在“ StudentCourse”模型中所拥有的: 现在,我要做的是使用以下代码获取“课程X中的所有学生”: 但是我收到以下错误: java.lang.Class
在本章中,让我们了解和学习多对多的关系。要表示多对多关系,必须创建第三个表(通常称为联接表),将多对多关系分解为两个一对多关系。 为此,我们还需要添加一个联接表。 下面先添加一个表。表的定义如下所示 - 现在创建一个多对多的关系。假设有多个作者在多个项目上工作,反之亦然。 如您所知,我们在中有一个字段,所以为它创建了一个表。但现在不再需要这个字段了。 选择字段,然后按下删除 按钮,将看到以下消息。
我还想知道如何定义每个模型上的关系--你是否需要或者是否可以只在用户上定义关系?