Я экспериментирую с созданием форума только с одной таблицей базы данных;называется 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
(независимо от того, являются ли они первыми постами или постом, который является дочерним по отношению к любому основному посту).
Я хочу показать следующую информацию об индексе темы -
Название темы (по которой мне нужно будет найти первый пост в серии)
Лицо, опубликовавшее последний ответ.Мне нужно извлечь их аватар и имя.
Буду очень признателен, если кто-нибудь сможет показать мне способ сделать это.