duanchen6423 2014-09-10 13:55
浏览 54
已采纳

Laravel Eloquent - 表加入

I have one problem where I need help. I'm doing one project in learning purposes.

I have 2 tables, the first one is

USERS which contain id (PK, AI), username, email, password and so on...

Another table called

FRIENDS

contain user_a (FK to users.id), user_b (FK to users.id), status (0 - pending, 1 - confirmed)...

Lets say the current logged user have id 1.

I need to join this 2 tables and get complete friend list for currently logged user, so query trough table friends where user_a or user_b = currently logged user id, and get all data (from table users) for his friend... So lets say this:

user_a = 1, user_b = 2 userb_a = 3, user_b = 1

I need to get info for users 2, 3.

I hope so you understand what I need.

Btw I know how to do this without using Eloquent, but I need to use Eloquent.

Thanks a lot!

  • 写回答

3条回答 默认 最新

  • dongyuan7110 2014-09-10 15:15
    关注

    This is many to many relationship, so you need belongsToMany.

    // basic setup
    public function friends()
    {
        return $this->belongsToMany('User', 'friends', 'user_a', 'user_b')
          ->withPivot('confirmed');
    }
    

    However that's not all, since you want it to be bidirectional. This means you need to setup 2 relationships - here you can find exact solution for this:

    Friendship system with Laravel : Many to Many relationship

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历