【问题标题】:Laravel 4: Sorting comments by how many 'Likes' they haveLaravel 4:根据他们有多少“喜欢”对评论进行排序
【发布时间】:2016-10-17 20:55:14
【问题描述】:

我有两个表:Comments 和 CommentRatings

我想要做的是获得评论,但按他们在 CommentRatings 表中的点赞数排序,但我只是想不通,我想在这里问我会更幸运

这是我的评论表:

这是 CommentRatings 表:

理想情况下,我需要能够根据有多少喜欢对其进行排序,但实际上我不知道

         $comments = Comment::where('url', Request::url())
            ->take($limit)
             ->get()

【问题讨论】:

  • 也许,如果您创建一个数据库视图,您可以更轻松地完成它。然后,您可以将视图映射到 Laravel 模型。

标签: php laravel laravel-4 relationship


【解决方案1】:

我没有积极使用 Laravel 4 进行开发,但我尝试了一下。希望它能在 4 中工作。在 Laravel 5 中测试,但如果这会引发任何错误,请告诉我。

 $comments = Comment::where('url', Request::url())
        ->select(DB::raw('comments.*, count(*) as `comments_count`'))
        ->join('comment_ratings', 'comments.id', '=', 'comment_ratings.comment_id')
        ->groupBy('id')
        ->orderBy('comments_count', 'desc')
        ->take($limit);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多