在我的应用程序中,我有用户和帖子。并且用户有粉丝。关注者表定义为:
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]。
答案 0 :(得分:1)
$follows = $authed->follows;
是Collection
User
个import matplotlib.pyplot as plt
plt.gca()
plt.show()
个对象,而不是单个对象,这就是您收到错误的原因