我有一个问题需要帮助。我正在做一个出于学习目的的项目。
我有 2 个表,第一个是
USERS 其中包含 id(PK、AI)、用户名、电子邮件、密码等...
另一个名为
的表friend
包含user_a(FK到users.id),user_b(FK到users.id),状态(0 - 待处理,1 - 已确认)...
假设当前登录用户的 ID 为 1。
我需要加入这两个表并获取当前登录用户的完整 friend 列表,因此查询表 friend ,其中 user_a 或 user_b = 当前登录的用户 ID,并获取他 friend 的所有数据(来自表用户)...那么我们可以这么说:
用户a = 1,用户b = 2 userb_a = 3,user_b = 1
我需要获取用户 2、3 的信息。
我希望你能明白我的需要。
顺便说一句,我知道如何在不使用 Eloquent 的情况下做到这一点,但我需要使用 Eloquent。
非常感谢!
最佳答案
您可以在 Users 和 Friends 表之间形成 hasMany() 关系
在用户模型中你必须编写
public function friends() {
return $this->hasMany('Friend','user_a');
}
并且从数据库中获取数据时。
$user = User::with('friends')->find($userId);
使用预先加载,您可以获取当前登录用户的所有 friend 。
这里是 laravel 中关系的链接
关于php - Laravel Eloquent - 表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25767330/