sql >> Databasteknik >  >> RDS >> Mysql

Laravel vältalig gräns i relation som har underrelation

funktionerna take() och limit() kommer inte att fungera med ivrig laddning om du hämtar mer än en överordnad modell med get().

Så du måste göra ett annat sätt,

$categories = Category::with('contents')->get();

Efter att ha hämtat $categories , kan du göra för varje slinga som nedan,

$contents = [];
foreach($categories as $category){
   $category->limitedContents = $category->contents()->with('languages')->limit(4);
}

Och genom att göra detta får du 4 innehåll per kategori i alla kategorier med limitedContents .



  1. MySQL - Hur kan jag uppdatera en tabell med värden från en annan tabell?

  2. returnera tomma rader för att data inte finns

  3. MySQL för att fylla i saknade datum när du använder GROUP BY DATE(table.timestamp) utan att gå med på temporär tabell

  4. Java MySQL Tidsstämpel tidszon problem