Красноречивые отношения и выборка данных с ограничениями - PullRequest
0 голосов
/ 01 октября 2018

Я экспериментирую с созданием форума только с одной таблицей базы данных;называется discussions_posts.Вот структура -

        $table->increments('id');
        $table->unsignedInteger('user_id');
        $table->unsignedInteger('child_of')->nullable();
        $table->unsignedInteger('category_id')->nullable();
        $table->string('title')->nullable();
        $table->mediumText('body')->nullable();
        $table->boolean('active');
        $table->unsignedInteger('last_reply_by')->nullable();
        $table->timestamps();
        $table->foreign('user_id')->references('id')->on('users');

Тема всегда начинается с сообщения с child_of, установленным на null, и сопровождается всеми последующими сообщениями, где child_of равно id первогоpost.

Проблема при рендеринге индекса потока;который должен показать все «потоки», отсортированные по времени их обновления (то есть отметку времени последнего сообщения) в теме.

Я попытался сделать это следующим образом -

Post::latest()->get();

Это приведет к извлечению всех posts (независимо от того, являются ли они первыми постами или постом, который является дочерним по отношению к любому основному посту).

Я хочу показать следующую информацию об индексе темы -

  1. Название темы (по которой мне нужно будет найти первый пост в серии)

  2. Лицо, опубликовавшее последний ответ.Мне нужно извлечь их аватар и имя.

Буду очень признателен, если кто-нибудь сможет показать мне способ сделать это.

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