Я использую Laravel для создания API для моего приложения, позже оно будет интегрировано с интерфейсом реакции. У меня есть две таблицы, сообщение и комментарий. Таблица сообщений содержит информацию о сообщениях, а таблица комментариев содержит данные комментариев к каждому сообщению. Ниже приведена структура,
post_id (первичный ключ) post_title post_description
comment_id (первичный ключ) comment_text post_id (внешний ключ)
Мне нужно взять post_id, post_title из таблицы постов и общее количество комментариев к каждому посту из таблицы комментариев и хочу показать данные json. вот так
{
"post_id": 1,
"post_title": "some title",
"total comments": "4"
},
Я знаю, как написать sql запросов для них, но у меня просто проблема с отображением данных, как указано выше. Ниже приведен код, который я использую.
$allPostQuery= DB::select('select * from post');
foreach($allPostQuery as $allPostQuery)
{
$postId= $allPostQuery->post_id;
$totalCommentsQuery= DB::select('select count(comment_id) as totalComments from comment where post_id=:postId',["postId" => $postId ]);
}
return \Response::json([$allPostQuery,$totalCommentsQuery]);
Но это не работает. Я запутался по поводу зацикливания идентификаторов сообщений, чтобы получить общее количество комментариев для каждого сообщения. Должен ли я сделать это в front-end, используя response foreach l oop? Любой может предложить любую помощь. Спасибо