Как отобразить количество комментариев одного поста при этом еще выводить кто оставил?

Ребят, доброго времени.
У меня назрел вопрос. Стоит задача:
Есть личный кабинет, в личном кабинете (на сайте) есть посты, к этим постам можно оставлять комменты.
Посты я вывожу и привязываю к профайлу юзера.
Но я не могу понять, как мне привязать правильно других юзеров тобишь их коменты тобишь к одному посту. И выводить под постом?
Структура таблиц такая
comments
5ad21374b7c29096013978.png
user_posts
5ad21393916af362021431.png

Потом в коде делаю связи ко всем моделям реляционно
User_profile
5ad2181bcda71196891241.png
User_post
5ad21822bdf83223855351.png
Comments
5ad2182946678607392038.png
Вот сами связи
дальше делаю запрос, вешаю геттер который собственно и имеет уже в себе коменты и запись. Передаю в вид. Подхватываю id юзер для удостоверения того что это его запись - пост.
$resultPostUser = UserProfile::find()
            ->asArray()
            ->with('posts')
            ->where(['user_id' => $my_id])   
            ->one();

После этого кода делаю дамп и получаю такую картину
5ad2152be597e793112681.png
Зеленным - это данные с профайла
Красным - пост который вяжется к профайлу юзера
А Оранжевый сам комент который есть в этом посту. Но есть одно но, почем в коменнтарии отображается МОЙ коммент и только мой, там должны вроде быть как и другие id_user.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Jhon_Light
@Jhon_Light Автор вопроса
$queryPostUser->from(UserPosts::tableName()." us_post")
            ->select('us_prof.user_id, us_prof.avatar, user.username, us_post.text, us_post.id, com_us.text as comment')
            ->leftJoin(UserProfile::tableName()." us_prof",'us_prof.user_id = us_post.id_user')
            ->leftJoin(User::tableName()." user",'user.id = us_post.id_user')
            ->leftJoin(Comments::tableName()." com_us",'com_us.id_post = us_post.id')
            ->where(['us_post.id_user' => Yii::$app->user->identity->getId()]);

Итог, для того что бы выбрать все записи и комменты к ним я сделал так.
Спасибо всем за поддержку и советы
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Связи к комментариям должны быть hasMany(), у Вас, скорей всего hasOne().
Дополните свой вопрос связями, а там видно будет.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы