Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/09/2013, 01:21
eternoaprendiz
 
Fecha de Ingreso: junio-2013
Ubicación: Madrid
Mensajes: 73
Antigüedad: 10 años
Puntos: 27
Respuesta: Duda "teológica" sobre MVC

El ORM de Laravel (como otros ORMs), permite establecer relaciones entre modelos:

http://laravel.com/docs/eloquent#relationships


De tal manera que es posible en el controlador hacer simplemente esto (una vez definidas las relaciones entre modelos):

Código PHP:
Ver original
  1. $posts = Post::with('users')->get();
  2. $posts = Post::with('users', 'comments')->get();
  3. $posts = Post::with('users.country', 'comments')->get();

De todas formas, este sistema, si bien es cómodo y rápido, tiene una pega: no puedes testear sin acceder realmente a la base de datos. Por eso es recomendable trabajar con "repositorios" que proporcionen los datos, de manera que estos oculten el origen (ya sea base de datos, xml, o un simple array para testear).

Ejemplos en Laravel y Symfony:

http://culttt.com/2013/07/08/creatin...-repositories/

http://net.tutsplus.com/tutorials/ph...l-controllers/

http://symfony.com/doc/current/book/...sitory-classes