user
和user_user
。在表user
中,我保存了在网站上注册的用户。这些用户可以互相关注,从而产生交叉表user_user
。
这些是字段:
user : id_user | username
user_user : id_user | id_userseguito
id_userseguito
是被关注用户的ID。
我应该能够在Eloquent中创建一个函数,该函数传递与表id_user
中user_user
相关联的用户ID,以便返回该用户所关注的用户的所有用户名。
正常的查询是:
SELECT user.username FROM user, user_user WHERE user_user.id_user = $id_user AND user_user.id_userseguito = user.id_user
但是如何将此查询翻译成Eloquent?
我使用User
函数设置了课程UserUser
和课程belongToMany()
。
答案 0 :(得分:0)
我不太确定,因为我还是Laravel的初学者。但我仍然想尝试给你一个答案。所以你的代码看起来像这样:
$Users = User::with('useruser')->where('id_userseguito', '=', $id)->get();
也许是这样的:
$Users = User::with(array('useruser' => function($query)
{
$query->where('id_userseguito', '=', $id);
}))->get();
在您的用户模型中,您应该拥有useruser()方法。像这样:
public function useruser()
{
return $this->belongsToMany('UserUser');
}
我仍然是Laravel的初学者。所以也许我的答案还不够好。