我正在开发一个项目并使用Laravel 5.3,在访问laravel关系时遇到了一些问题。
就像我已经设置了这些关系 -
在用户模式 -访问laravel关系
public function likes() {
return $this->hasMany(Like::class, 'user_id');
}
public function dislikes() {
return $this->hasMany(Dislike::class, 'user_id');
}
public function posts() {
return $this->hasMany(Post::class);
}
public function comments() {
return $this->hasMany(Comment::class);
}
public function replies() {
return $this->belongsTo(Comment::class, 'parent_id');
}
在帖子模态 -
public function likes() {
return $this->morphMany(Like::class,'likeable');
}
public function dislikes() {
return $this->morphMany(Dislike::class, 'dislikeable');
}
public function comments() {
return $this->hasMany(Comment::class);
}
public function user() {
return $this->belongsTo(User::class);
}
现在,这里是我的问题。假设有一个用户有10个帖子,每个人有20个喜欢和10个不喜欢,那么我如何在他的帖子中显示出喜欢和不喜欢的人与人之间的关系,我知道如何在每个帖子中查看喜欢和不喜欢的东西 -
$post->likes->count()
$post->dislikes->count()
我又可以访问任何用户所做的好恶,因为我有方法上的用户模式来访问这些,我会做这样的事情在我的模型
但我想以数字格式显示总评论数,总评论数,回复数,喜好和不喜欢数。 你能帮助我如何通过关系来访问那些人吗?