求助!关于论坛帖子的排序问题....用 Laravel 的 Eloquent 怎么解决呢

求助。。。快被折腾死啦。我有POST和COMMENT两个表,是一对多的关系,现在我只是想让他们实现像论坛那样的排序功能: 根据COMMRNT的created at和POST的created at来排序,但是用下面的方法一点用都没有.

$posts = Post::with(array('comments' => function($q) {
return $q->orderBy('created_at', 'desc');
})) ->paginate(30);  

我还尝试过用left join,还是没有什么卵用, 结果是重复的COMMENTS.......快疯了。请问问大神们这点用laravel的Eloquent怎么解决呢

   $posts = Post::select('posts.*')
   ->leftJoin('comments', 'comments.post_id', '=', 'posts.id')
  ->with('comments')
   ->orderBy('comments.created_at', 'desc')
  ->paginate(30);
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

怎么解决的呀,我也有类似问题?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!