А посты с такой 'category_name' в базе вообще есть? И для подобных задач надо использовать номера, а не названия, а то где-нибудь поправят транслитерацию на "по госту" и работать ваш код перестанет.
Не очень понятно на кой вообще такой велосипед ваять. Если надо только округлять введённое время до пяти минут, это делается без плясок с четырьмя цифрами и упаковывается в одну функцию. Если класс собирается для множества операций типа "добавить n минут" или "вычислить разницу в минутах" - есть \DateTime.
Вопрос не во фреймворке, а в программистах его применяющих. Если нанимать школьников за доширак, похрустывать начнёт на выборке из пары сотен тысяч даже на приличном железе.
Что за таблица, какой запрос, сколькоресурсов выделяет хостинг... Данных маловато. Ну и да, 40 минут на такую задачу - совсем неадекватное время, у меня на целероне и харде упакованный лог за сутки на порядок быстрее прожёвывался, а это совсем не бд.