sql >> Base de Datos >  >> RDS >> Mysql

AngularJS y Laravel 4.2 recuperando datos de tablas multip y uniéndolas

La forma más simple de recuperación de datos que puede hacer aquí es hacer lo siguiente:

$travelBills = Travelbill::with(['code','allowance'])->get();

Esto es Eager Loading y realizará tres consultas:

  • Cargar todas las facturas de viaje
  • Cargue todos los códigos que tengan claves foráneas que coincidan con todos los ID de la guía de viaje y asígnelos a cada modelo de viaje
  • Haz lo mismo con las asignaciones

Lo que tendrá al final es que cada modelo de Travelbill ya tendrá un código asociado y un modelo de asignación, lo que le permitirá trabajar como:

echo $travelBill->cost->SekInklMoms;

para uno de los Travelbills que cargó. Tenga en cuenta un par de cosas en la primera consulta:

  • Las facturas de viaje no filtrados, los estamos cargando todos en este punto.
  • Lo estamos haciendo simplemente , no necesariamente de manera eficiente. Recomiendo primero sentirse cómodo con la carga de relaciones antes de pasar a cosas como uniones (que rompen el espíritu de Eloquent ORM en cualquier caso)