Как считать в Laravel из другой таблицы

Привет, я делаю таблицу данных, чтобы показать, сколько комментариев к моему сообщению от пользователя, который вошел в систему и сделал этот пост, но у меня есть ошибка, она извлекает только 1, но на самом деле у меня было около 26 комментариев, я не знаю почему.

В моем контроллере:

public function getCountComment()
{
    $user = Auth::user();
    return $all_count = $user->post()
        ->withCount('comment_to_post')
        ->take(5)->get();
}

Модель comment.php:

public function comment_to_post()
{
    return $this->belongsTo('App\Post','id_user');
}

У меня около 26 комментариев, но он получает только 1 комментарий. Надеюсь, вы поможете мне, ребята

"comment_to_post_count": 1

Можете ли вы попробовать удалить дубль (5) в своем запросе.

Prashant Prajapati 19.09.2018 08:52

take 5 ограничит количество сообщений, а не количество комментариев

syam 19.09.2018 08:53

уже все еще только 1 получить

Ayam Geprek 19.09.2018 09:05
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
3
63
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Удаление метода (ограничения) взять (5) может исправить это ..

Ответ принят как подходящий

Я сделал это в своем коде - надеюсь, это поможет

public function getCountComment()
{
    $user = Auth::user();
    $posts = $user->posts();

    foreach ($posts as $key => $value) {
        $posts[$key]->post_comments_count = PostComment::where('post_id', $value->id)->count(); 
    }
    return $posts;
}

Вы должны попробовать это:

public function getCountComment()
{
    $user = Auth::user();
    $all_count = $user->post()
        ->withCount('comment_to_post')
        ->count();
    return $all_count;
}

Другие вопросы по теме