Плохая привычка работать с несколькими моделями в одном действии контроллера? Должно ли оно всегда быть как один контроллер - один вариант модели?PHP и MVC, несколько моделей
ответ
Нет, конечно, это не плохая привычка. Там, где вы работаете с несколькими таблицами, вам понадобятся различные модели.
Проблема заключается не столько в этом, но в том, что фреймворки способны обрабатывать расширенные запросы, объединяются и фильтруются на основе этих моделей. Это один из тех ошибок, когда вы «обязаны» следовать определенной эстетике структуры в отношении взаимодействия с базой данных, но это зависит, конечно, от какой структуры и от того, насколько вы полагаетесь на магическое поведение.
Не каждый проект - простой блог! :)
Редактировать: Я также должен сказать, что такая вещь является одной из моих главных проблем с каркасами MVC в целом. Компромисс между тем, что ваш проект пытается достичь, и то, что позволяет инфраструктура, всегда будет там, где волосы потеряны, а поздние ночи вложены.
Я не мог представить, что можно работать только с одной моделью вовремя. Эти базы данных называются «реляционными базами данных» по определенной причине. Все таблицы взаимодействуют друг с другом.
Я фактически использовал фреймворк, который позволял загружать только одну модель, которая была связана с этим контроллером. Определенно ужасный опыт, единственными работами, которые работали, были основные действия CRUD.
Спасибо за быстрый ответ! – PPPHP
Как все говорят, вы свободны делать то, что хотите. Я бы предложил посмотреть сайт для используемой структуры и посмотреть, как другие люди ее используют. У них часто есть «Проекты с использованием XXXX Framework».
И, как комментарий troelskin, 1 таблица не всегда равна одной модели. Некоторые примеры, использующие базовый шаблон активной записи (например, CodeIgniter), как правило, относятся к методу модели 1 таблицы 1.
Нет, это не плохая практика.
Контроллеры сопоставляются с ресурсами HTTP (иначе URI) больше, чем с вашими моделями данных. Запрос на определенный ресурс (пользователи, продукты, ...) часто может потребовать загрузки и/или хранения данных из/в разных местах (таблица БД, файловая система, удаленная веб-служба ...), поэтому Контроллер 1: 1: сопоставление моделей, вероятно, является скорее исключением, чем правилом. Если ваш сайт действительно простой.
- 1. MVC несколько похожих моделей
- 2. Несколько моделей в MVC
- 3. MVC Несколько моделей
- 4. Несколько моделей таблиц с MVC?
- 5. MVC Несколько моделей и множественная форма просмотра
- 6. MVC - несколько моделей данных 1
- 7. MVC: Алгоритм использует несколько моделей
- 8. Несколько моделей в представлении (mvc)
- 9. MVC - несколько моделей в целях
- 10. MVC и коллекция моделей
- 11. NSOutlineView и несколько моделей
- 12. Несколько моделей и Paperclip
- 13. CodeIgniter MVC: несколько моделей на контроллер?
- 14. MVC - Посмотреть, что требуется несколько моделей
- 15. Несколько моделей в режиме просмотра бритвы MVC
- 16. MVC Несколько моделей в одном представлении
- 17. MVC: несколько моделей через контроллер для просмотра
- 18. Как передать несколько моделей в ASP.NET MVC?
- 19. ASP.NET MVC несколько моделей в одном представлении
- 20. ASP.MET MVC Несколько моделей в одном представлении
- 21. Несколько моделей моделей и основанных на разрешении
- 22. Несколько моделей
- 23. mvc несколько моделей в поле зрения
- 24. Несколько моделей Single View Asp.net mvc
- 25. Связать несколько моделей asp, net mvc
- 26. Несколько моделей MVC с одинаковой строкой соединения
- 27. несколько моделей с петлей foreach asp.net mvc
- 28. ModelMetadata.Watermark и MVC Просмотр моделей
- 29. ASP.NET MVC - один контроллер и несколько моделей/представлений
- 30. Проверка окна поиска MVC и несколько моделей в представлении
Отличный вопрос! Жаль, что никто не заботится о таких вопросах! – Sliq