sql >> Databáze >  >> RDS >> Mysql

Laravel Výmluvný limit ve vztahu, který má podvztah

Funkce take() a limit() nebudou fungovat s dychtivým načítáním, pokud pomocí get( načtete více než jeden rodičovský model).

Takže musíte udělat jiný způsob,

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

Po načtení $categories , můžete udělat pro každou smyčku, jak je uvedeno níže,

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

A tímto způsobem získáte 4 obsahy na kategorii ve všech kategoriích s limitedContents .



  1. Jak používat parametry v klauzuli „kde hodnota v...“?

  2. MySQL Boolean tinyint(1) uchovává hodnoty až 127?

  3. Použití připravených příkazů s mysql v pythonu

  4. if (vyberte počet (sloupec) z tabulky)> 0 potom