Eloquent 多表关联模型:如何关联一个用户和他所有粉丝的文章?

现在有三个数据表:

  • 用户表:users
  • 粉丝表:fans
  • 文章表:articles

有如下的关联关系:

  • 一个用户可以有多个粉丝,粉丝也是用户;
  • 一个用户可以有多篇文章;
  • 因为粉丝也是用户,所以粉丝也可以有多篇文章。

现在要实现以下功能:
在主页上列表该用户(即当前登录的用户)所有粉丝的文章,并且文章按发表时间逆序排序。

现在问题来了:
请问根据以上描述的关系,应该如何建立Eloquent关联模型?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model{
    /**
     * 获取粉丝用户的文章
     */
    public function fansActicle()
    {
       return $this->hasManyThrough('App\Acticle', 'App\Fans', 'user_id', 'fans_id');
    }
}

希望能对你有帮助!!!

6年前 评论
讨论数量: 1
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model{
    /**
     * 获取粉丝用户的文章
     */
    public function fansActicle()
    {
       return $this->hasManyThrough('App\Acticle', 'App\Fans', 'user_id', 'fans_id');
    }
}

希望能对你有帮助!!!

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!