Ленивая загрузка против нетерпеливой загрузки для вложенной системы комментариев - PullRequest
1 голос
/ 15 февраля 2020

У меня есть страница с вопросом и шестью комментариями (родитель и дети). Под lazy loading Laravel делает ровно 12 mysql запросов. Я хотел бы верить, что это не лучший способ go об этом. Поскольку комментарии растут, это может создать проблему. Посмотрите:

enter image description here

6 запросов для получения информации о каждом пользователе и 6 запросов для получения комментария.

В настоящее время я делаю так:

 Route::bind('comment', function($comment_id) {
     return Comment::where('id', $comment_id)
         ->whereNull('parent_id')
         ->first() ?? abort(404);
 });

и тогда я lazy load каждый ответ буду примерно так: $comment->children рекурсивно.

Мой вопрос: должен ли я сразу загрузить все это, или это нормально? Как лучше всего подойти к такой ситуации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...