Это - дурная привычка работать с многоуровневыми моделями в одном действии контроллера? Это должно всегда быть похожим на один контроллер одна модель одно представление?
Нет, конечно, неплохая привычка. Если вы работаете с несколькими таблицами, потребуются разные модели.
Проблема не столько в этом, сколько в способности фреймворка обрабатывать сложные запросы, объединения и фильтрацию на основе этих моделей. Это один из тех медвежатников, когда вы «обязаны» следовать особой эстетике фреймворка в отношении взаимодействия с базой данных, но это, конечно, зависит от того, какой фреймворк и насколько вы полагаетесь на магическое поведение.
Не каждый проект - это простой блог! :)
edit: Я должен также сказать, что подобные вещи - одна из моих основных проблем с фреймворками MVC в целом. Компромисс между тем, чего пытается достичь ваш проект, и тем, что позволяет фреймворк, всегда будет там, где потеряны волосы и потрачены на поздние ночи ..
Я не мог представить, что могу работать только с одной моделью за раз. Эти базы данных неспроста называются «реляционными базами данных». Все таблицы взаимодействуют друг с другом.
Я фактически использовал фреймворк, который позволял загружать только одну модель, связанную с этим контроллером. Определенно ужасный опыт, единственными операциями, которые работали, были базовые действия CRUD.
Как все говорят, вы можете делать то, что хотите. Я бы посоветовал поискать на сайте фреймворк, который вы используете, и посмотреть, как его используют другие люди. У них там часто есть «Проекты, использующие XXXX Framework».
И, как и комментарий Троэльскина, одна таблица не всегда соответствует одной модели. Некоторые из примеров, использующих базовый шаблон Active Record (например, CodeIgniter), как правило, соответствуют методу модели 1 таблица 1.