Mysql
 sql >> Base de données >  >> RDS >> Mysql

AngularJS &Laravel 4.2 récupèrent les données des tables multip et les joignent

La forme la plus simple de récupération de données que vous pouvez effectuer ici est de procéder comme suit :

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

Il s'agit d'Eager Loading et effectuera trois requêtes :

  • Charger toutes les factures de voyage
  • Chargez tous les codes qui ont des clés étrangères correspondant à tous les identifiants de facture de voyage et attribuez-les à chaque modèle de voyage
  • Faire de même avec les allocations

Ce que vous aurez à la fin, c'est que chaque modèle de Travelbill aura déjà un modèle de code et d'allocation associé, vous permettant de travailler comme :

echo $travelBill->cost->SekInklMoms;

pour l'un des Travelbills que vous avez chargés. Notez quelques éléments dans la première requête :

  • Les factures de voyage ne sont pas filtrés, nous les chargeons tous à ce stade.
  • Nous le faisons simplement , pas nécessairement efficace. Je recommande d'abord de se familiariser avec le chargement des relations avant d'aborder des choses comme les jointures (qui brisent l'esprit d'Eloquent ORM dans tous les cas)