Я пытаюсь подсчитать количество данных в базе данных в соответствии с идентификатором категории, и я написал следующие строки кода:
public function getPodcastByCategoryId($catId){
$args = array(
'fields' => array(
'podcast.id',
'podcast.title',
'podcast.description',
'podcast.duration',
'podcast.audio',
'podcast.image',
'podcast.category',
'podcast.added_date',
'categories.title AS category_title',
'(SELECT users.full_name FROM users WHERE id = podcast.added_by) as author',
'(SELECT COUNT(category) FROM podcast WHERE category = podcast.category) as episodes'
),
'join' => "LEFT JOIN categories on podcast.category = categories.id",
'where' => array(
'category' => $catId
),
);
return $this->select($args);
}
Однако функция getPodcastByCategoryId($catId)
дает эпизоды =3, который является количеством данных, присутствующих в подкасте таблицы.
Данные в базе данных :
Мои ожидаемые эпизоды: 2 в идентификаторе категории 2 и 1 в идентификаторе категории 1.