CakePHP связанные данные

Я пытаюсь подсчитать связанные данные предметов.

«Лента»
«Feed_Likes» (Внешний ключ Feed_id)
«User_Feedhistorys» (внешний ключ Feed_id)

Таблица «User_Feedhistorys» содержит список имен пользователей и Feed_id «просмотренных» каналов.

Таблица Feed_Likes содержит Feed_id и имя пользователя, которому понравился канал.

Я хотел бы посчитать «Feed_likes» каждого канала в таблице каналов и подсчитать количество записей в таблице «User_Feedhistorys» для каждого канала.

Я прочитал руководство много раз, и я застрял. Я не могу подсчитать один из предметов и вернуть его как виртуальное поле, но не оба. Как я могу объединить ниже или переписать функцию, чтобы работать как независимый.

Функция ниже получает только один или другой, можете ли вы помочь, пожалуйста?

public function findFeedViewCount(Query $query, array $options){

/*return $query = $this->find()
->select(['view_count' => $query->func()->count('UserFeedhistorys.feed_id')])
->leftJoinWith('UserFeedhistorys')
->group(['Feeds.id'])
->contain(['FeedCategories', 'FeedOwners','UserFeedsubscriptions','FeedLikes','UserFeedhistorys'])
->autoFields(true);*/

return $query = $this->find()
->select(['like_count' => $query->func()->count('FeedLikes.feed_id')])
->leftJoinWith('FeedLikes')
->group(['Feeds.id'])
->contain(['FeedCategories', 'FeedOwners','UserFeedsubscriptions','FeedLikes','UserFeedhistorys'])
->autoFields(true);

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector