如何通过关系值获取模型顺序null并且不为null

时间:2016-12-27 07:57:23

标签: laravel laravel-5.2

我正在使用laravel 5.2我有一个问题。有Post模型和Comment模型。我希望所有帖子都有评论,无论他们是否有评论。而且我想通过他们的评论来订购帖子,比如帖子有评论都在前面,帖子后面没有评论。我该如何完成?感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用withCount并按照评论次数排序:

$posts = Post::withCount('comments')
        ->orderBy('comments_count', 'desc')
        ->get();

这将订购首先有comments的帖子,其余的将会跟随它。

  

要实际计算关系中的结果数   加载它们你可以使用withCount方法,它将放置一个   结果模型上的{relation}_count列。