Den enklaste formen av datahämtning du kan göra här är att göra följande:
$travelBills = Travelbill::with(['code','allowance'])->get();
Detta är Eager Loading och kommer att utföra tre frågor:
- Ladda alla reseräkningar
- Ladda in alla koder som har främmande nycklar som matchar alla reseräknings-ID och tilldela dem till varje resemodell
- Gör samma sak med utsläppsrätter
Vad du kommer att ha i slutändan att varje Travelbill-modell redan kommer att ha en associerad kod och ersättningsmodell, vilket gör att du kan arbeta som:
echo $travelBill->cost->SekInklMoms;
för en av resebreven du laddade. Notera ett par saker i den första frågan:
- Reseräkningarna är inte filtrerade, vi laddar dem alla vid det här laget.
- Vi gör det enkelt , inte nödvändigtvis effektivt. Jag rekommenderar att du först känner dig bekväm med relationsladdningen innan du börjar med saker som joins (som bryter andan i Eloquent ORM i alla fall)