¿Es un mal hábito trabajar con varios modelos en una acción de controlador? ¿Debería ser siempre como un controlador, una vista de modelo uno?PHP y MVC, modelos múltiples
Respuesta
No, por supuesto, no es un mal hábito. Donde trabaje con varias tablas, entonces se necesitarán varios modelos.
El problema no es tanto con esto, sino con la capacidad de los marcos para manejar consultas avanzadas, uniones y filtrado basados en estos modelos. Es uno de esos osgos cuando estás "obligado" a seguir la estética particular de un marco de trabajo sobre la interacción con la base de datos, pero esto depende, por supuesto, de qué marco y qué tan lejos dependas de los comportamientos mágicos.
¡No todos los proyectos son simples blogs! :)
editar: Debo decir también, que este tipo de cosas es uno de mis principales problemas con los frameworks MVC en general. El compromiso entre lo que su proyecto intenta lograr y lo que el marco permite siempre será donde se pierde el cabello y se invierten las últimas noches ...
¡Gracias por la respuesta rápida! – PPPHP
En mi opinión, la mayoría de su código debe estar en sus modelos, de los cuales habrá muchas clases. Definitivamente no es un mapeo uno a uno entre los modelos y los controladores. Eso sería algo malo. – d11wtq
Sí, todo el mundo adora los modelos gordos :) – dmp
No podría imaginarme trabajar solo con una modelo a la vez Esas bases de datos se llaman 'bases de datos relacionales' por una razón. Todas las tablas interactúan entre sí.
De hecho, utilicé un marco que solo permitía cargar el modelo que estaba asociado con ese controlador. Definitivamente una experiencia horrible, las únicas operaciones que funcionaron fueron acciones básicas de CRUD.
¡Gracias por la respuesta rápida! – PPPHP
Como todos los demás dicen, usted es libre de hacer lo que quiera. Sugeriría buscar en el sitio el marco que está utilizando y ver cómo lo usan otras personas. A menudo tienen "Proyectos que utilizan el Marco XXXX" allí.
Y al igual que el comentario de troelskin, 1 tabla no siempre es igual a un modelo. Algunos de los ejemplos que usan un patrón de registro activo básico (como CodeIgniter) tienden a ir con el método del modelo de 1 tabla 1.
No, no es una mala práctica.
Los controladores asignan a los recursos HTTP (también conocidos como URI) más que a sus modelos de datos. Una solicitud de cierto recurso (usuarios, productos, ...) a menudo puede requerir la carga y/o almacenamiento de datos desde/en varios lugares (una tabla DB, el sistema de archivos, un servicio web remoto, ...), por lo que Controlador 1: 1: el mapeo de modelos probablemente sea la excepción y no la regla. A menos que su sitio web sea realmente simple.
- 1. ASP.NET MVC - Múltiples modelos en carpetas de formularios y modelos
- 2. ASP.NET MVC - Ver con múltiples modelos
- 3. Backbone/RequireJS y modelos múltiples
- 4. ASP.NET MVC 3 a múltiples modelos solo Formulario
- 5. ¿Cómo paso múltiples modelos a vistas parciales en ASP.NET MVC
- 6. ¿Cómo pasar múltiples modelos a la vista en ASP.NET MVC?
- 7. ASP.NET MVC: relación entre modelos y MembershipUsers
- 8. asp.net mvc modelos vs entidad marco modelos
- 9. will_paginate con múltiples modelos (rieles)
- 10. Paginate Múltiples modelos en Kaminari
- 11. DRY vs Seguridad y Mantenibilidad con modelos MVC y View
- 12. Rabl Colección de modelos múltiples
- 13. Múltiples modelos frente a modelo único
- 14. ¿Debo separar totalmente los modelos y ORM en MVC?
- 15. rails 3 asociación polimórfica con clip y modelos múltiples
- 16. Asp.net MVC 4 API y Knockout.js: Generate Knockout.js modelos
- 17. MVC: ¿Los modelos y objetos de entidad son conceptos separados?
- 18. Django pasar múltiples modelos para una plantilla
- 19. Creación de modelos en ASP.NET MVC
- 20. Use una sola acción para múltiples modelos
- 21. Modelos, ViewModels, dtos en MVC 3 aplicación
- 22. Validación parcial de ASP.NET MVC 3 Modelos
- 23. Rieles asociaciones múltiples entre dos modelos
- 24. Mejores prácticas con ASP.NET MVC ven modelos
- 25. Modelos específicos de vista en ASP.NET MVC?
- 26. MVC: ¿los modelos interactúan con la vista?
- 27. Lista de modelos de Modelo en MVC
- 28. Múltiples usuarios XDebug y depuración de PHP
- 29. bifurcación de PHP y múltiples señales secundarias
- 30. MySQL y PHP - Creando relaciones secundarias múltiples
¡Excelente pregunta! ¡Es una pena que a nadie parezca importarle preguntas como esa! – Sliq