Да, ваша модель article_model должна обрабатывать все связанные запросы и логику для любой записи / статьи, однако для связанных комментариев я бы сделал другую модель, назовем ее comments_model.
Затем вы увидите, какие данные необходимо отобразить, и создадите методы для извлечения / обработки этих данных в ваших моделях.
Например.Для страницы записи в блоге вам понадобится метод get_entry в article_model и get_article_comments в модели комментариев, затем для страницы списка блога вам понадобятся get_entryes и get_article_number_of_comments в модели комментариев ....
Редактировать
Для страницы со списком 20 записей в блоге вам нужно будет сделать 1 запрос, чтобы вывести список всех записей в блоге, вызвав article_model-> get_entryes, а для вывода только 1 записи вы можете вызвать get_single_entry (или get_entryes, где вы ограничиваетерезультат, или get_entry_by_uri, или get_entry_by_id ...).Затем, чтобы получить количество комментариев для каждой записи, вы можете сделать get_multiple_nr_comment в модели комментариев, где вы передаете идентификаторы записей, и ваш запрос выдаст что-то вроде "где comments.entry_id IN (1, 34, 55 ...)"Существует несколько способов подсчета нескольких номеров комментариев в одном запросе.
Таким образом, в итоге у вас будет 2 запроса на страницу.