Php 嵌套注释系统的延迟加载与急切加载

Php 嵌套注释系统的延迟加载与急切加载,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有一个页面,有一个问题和六条评论(家长和孩子)。在lazy-loading下Laravel恰好进行了12次mysql查询。我愿意相信这不是最好的解决办法。随着评论的增加,这可能会带来一个问题。看一看: 6个查询获取每个用户的信息,6个查询获取评论 目前我正在这样做: Route::bind('comment', function($comment_id) { return Comment::where('id', $comment_id) ->whereN

我有一个页面,有一个问题和六条评论(家长和孩子)。在lazy-loading下Laravel恰好进行了12次mysql查询。我愿意相信这不是最好的解决办法。随着评论的增加,这可能会带来一个问题。看一看:

6个查询获取每个用户的信息,6个查询获取评论

目前我正在这样做:

 Route::bind('comment', function($comment_id) {
     return Comment::where('id', $comment_id)
         ->whereNull('parent_id')
         ->first() ?? abort(404);
 });
然后我将
延迟加载
每个回复都是这样的:
$comment->children


我的问题是:我应该立即加载所有这些,还是可以?处理这种情况的最佳方法是什么?

您应该通过快速加载来完成。想象一下你的评论答案接近1000条评论,你的评论表越来越大。@HassanShojaei是的,我想你是对的。这就引入了n+1的问题。快速加载是一种方法。你应该通过快速加载来完成。想象一下你的评论答案接近1000条评论,你的评论表越来越大。@HassanShojaei是的,我想你是对的。这就引入了n+1的问题。急切的装载是一条路要走。