dima9595
@dima9595
Junior PHP

Как получить комментарии к новости и при этом автора комментария?

Как получить комментарии к новости и при этом автора комментария?

БД новостей
83f9836a8ef84e9c9d49a409fdc9d68e.png
БД комментариев
55bf5995f55f40d29ea2f3b35971c966.png
БД пользователей
4200d7ad2b6f4a588513f2288aee48d2.png


Получаю все комментарии, относящиеся к новости:
/* Получение одной новости */
    public static function getIDNews($newsID){
        $getIDNews = News::with(['comments', 'authorComments'])
                            ->where('id_news', '=', $newsID)
                            ->first();

        return $getIDNews;
    }

/* Получение авторов комментариев */
    public function authorComments(){
        return $this->belongsTo(User::class,  'author_comments', 'id_users');
    }

    /* Получение всех комментариев к новости */
    public function comments(){
        return $this->hasMany(Comments::class, 'news_comments', 'id_news');
    }


Но "authorComments" выдаёт мне null. Что я не так делаю, заранее спасибо!
  • Вопрос задан
  • 615 просмотров
Решения вопроса 1
dima9595
@dima9595 Автор вопроса
Junior PHP
Решил сильно не париться и написал такой вот код:
/* Получение комментариев и их авторов */
    public static function getCommentsIDNews($newsID){
        $getCommentsIDNews = Comments::where([
                            ['news_comments', '=', $newsID],
                            ['status_comments', '=', 1]
                        ])
                        ->join('users', 'author_comments', '=', 'id_users')
                        ->get();

        return $getCommentsIDNews;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksclub
@Maksclub
maksfedorov.ru
Я не из мира Laravel, но вижу обращение к модели User, в этой модели скорее всего поле не id_users, а id

крч. покажите еще таблицу `users`

может вообще нет такого пользователя в таблице `users`
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы