@alexeygavrilovs

Как вывести вложенные комментарии?

Всем добрый день! Знаю что тема заезженная всеми, но как вывести вложенные комментарии, parent_id в таблицу добавил, в контроллере тоже сортирую по нему, Нужно ли в модели делать связь самим с собой, или как это делается вообще?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
>Нужно ли в модели делать связь самим с собой
можно (не обязательно), как-то так:
public function children()
    {
        return $this->hasMany(self::class, 'parent_id');
    }
    public function parent()
    {
        return $this->belongsTo(self::class);
    }

>parent_id в таблицу добавил, в контроллере тоже сортирую по нему
нужно сортировать по какому-то представлению типа materialized path или левому значению из nested set (но он меньше подходит для комментариев, так как у него долгая вставка).
Подробнее, например, здесь. https://communities.bmc.com/docs/DOC-9902 единственное, для быстрой сортировки для комментариев в качестве "элемента пути" лучше использовать что-то одинаковой длины, например timestamp в unixtime, на всякий случай приведенный к длине 13 знаков
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы