我目前正在制作一個新聞系統,我需要獲得最喜歡的前 5 個帖子。在我的代碼和表格下方:
楷模:
郵政:
class Post extends Model
{
use HasFactory;
use HasTags;
public function user()
{
return $this->belongsTo(User::class);
}
public function likes()
{
return $this->hasMany(PostLike::class);
}
public function comments()
{
return $this->hasMany(PostComment::class);
}
}
喜歡:
class PostLike extends Model
{
protected $fillable = ['user_id', 'post_id', 'is_liked'];
public function user(){
return $this->belongsTo(User::class);
}
public function post(){
return $this->belongsTo(Post::class);
}
use HasFactory;
}
表格:
帖子: 帖子表
post_likes: 發布喜歡表
uj5u.com熱心網友回復:
不知道為什么你有一個is_liked布林值,因為如果關系存在,它很喜歡。但這應該有效
Post::withCount('likes')->orderBy('likes_count', 'desc')->take(5)->get();
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326303.html
