Как обьединить два массива из разных запросов?
Массив с комментариями
"data" => array:2 [▼
0 => array:7 [▼
"id" => 2
"content" => "Количество символов в поле Текст комментария должно быть не меньше 10."
"created_at" => "2020-10-05 12:03:35"
"updated_at" => "2020-10-05 12:03:35"
"user_id" => 1
"post_id" => 1
"login" => "JonBobby"
]
1 => array:7 [▶]
Массив с оценками комментариев
array:1 [▼
0 => array:3 [▼
"comment_id" => 2
"count_likes" => 0
"count_dislikes" => 1
]
]
Есть два запроса к БД. 1й получает все комментарии одного поста, 2й подсчитывает лайки и дизлайки к каждому комментарию выборного поста.
Как объединить эти два массива в один чтобы можно было без заморочек вывести данные во вьюхе? а то я уже день бьюсь и все равно ничего не получается.
Модель RatingComment
/**
* Получаем Лайки и Дизлайки комментариев поста
*
* @param int $post_id
*/
public function getVote(int $post_id)
{
return $this->query()
->selectRaw(
'comments.id as comment_id,
count(CASE WHEN rating_comments.type = "like" THEN 0 END) as count_likes,
count(CASE WHEN rating_comments.type = "dislike" THEN 0 END) as count_dislikes')
->leftJoin('comments',
'comments.id',
'=',
'rating_comments.comment_id')
->where('rating_comments.post_id', $post_id)
->groupBy('rating_comments.comment_id')
->get();
}
Модель Comment
/**
* Получаем все комментарии Одного поста
*
* @param int $post_id
*/
public function getAllCommentInPost(int $post_id)
{
return $this->query()
->join('users',
'comments.user_id',
'=',
'users.id')
->select('comments.*',
'users.login as login')
->where('comments.post_id', $post_id)
->orderBy('comments.created_at', 'desc')
->paginate(5);
}