Laravel withCount указывает Столбец таблицы отношений (API / Eloquent) - PullRequest
0 голосов
/ 14 мая 2018

В моем проекте я создал одну таблицу POSTS и другую POST_VIEWS (последняя получала при каждом посещении пользователя и принимает take ip и post_id)

Отношения для моего поста такие:

public function view() {
return $this->belongsTo(PostView::class);
 } 

Мой API-запрос выглядит так:

$posts = Post::withCount('view')->get();

Все это работает, но Мне нужно посчитать количество IP в таблице отношений PostView , и я не нашел способа сделать что-то подобное ...

если у кого-то есть решение, вы можете спасти мою жизнь ...

1 Ответ

0 голосов
/ 14 мая 2018

Вы не можете добиться того, чтобы напрямую withCount использовался для подсчета других моделей в прямой связи с текущей моделью, так как я вижу, что у вас есть отношение один к одному после просмотра , что выглядит странно но вы можете попробовать альтернативное решение, как это:

$posts = Post::with(['view'=>function($query){
             $query->withCount('ip');
         }])->get();

, этот запрос вернет вам количество ip вместе с 'view'.

...