基本相关性给出错误属性[post]不存在

时间:2018-02-10 18:27:05

标签: laravel laravel-5.4

在我的应用程序中,我有用户和帖子。并且用户有粉丝。关注者表定义为:

user_id
follower_id

并且如果用户模型I具有以下关系以获得关注和关注者:

function followers()
{
    return $this->belongsToMany('App\User', 'followers', 'user_id', 'follower_id');
}

function follows()
{
    return $this->belongsToMany('App\User', 'followers', 'follower_id', 'user_id');
}

在用户控制器中,我试图通过以下方式访问以下内容:

$follows = $authed->follows;

哪个工作得很好,但我尝试访问该用户发布的帖子。 用户模型中存在一种关系,定义为:

function posts(){
   return $this->hasMany('App\Posts', 'id', 'user_id');
}

但是当我尝试使用以下内容访问帖子时

$follows = $authed->follows;
$followingPosts = $follows->posts->orderBy('id', 'desc')->take(10)->get();

它给了我错误: 此集合实例上不存在属性[posts]。

1 个答案:

答案 0 :(得分:1)

$follows = $authed->follows;Collection Userimport matplotlib.pyplot as plt plt.gca() plt.show() 个对象,而不是单个对象,这就是您收到错误的原因