Сомнительная затея хранить дополнительно количество и постоянно заниматься синхронизацией реального количества с этим полем. Но. Если уж решили, что нужно - поступите проще, решите эту задачу средствами самой базы данных, благо они уже давно это умеют сами. 3 триггера на таблицу comments (insert, update, delete). И обновляйте поле количество в нужной таблице. И не нужно тогда привязываться к фреймворку, мало ли кто еще и откуда обновит эти таблицы. Как ориентир:
CREATE TRIGGER `insert_comment` AFTER INSERT ON `comments` FOR EACH ROW
BEGIN
IF (NEW.material_type = 'post') THEN
UPDATE posts SET comments_count = (SELECT COUNT(id) FROM comments WHERE material_id = NEW.material_id AND material_type = NEW.material_type) WHERE id = NEW.material_id;
END IF;
END;