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

现在有三个数据表:

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

有如下的关联关系:

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

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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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年前 评论

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