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
.