take() en limit() functies zullen niet werken met gretig laden als u meer dan één bovenliggend model ophaalt met get().
Dus je moet het op een andere manier doen,
$categories = Category::with('contents')->get();
Na het ophalen van $categories
, je kunt een foreach-lus maken zoals hieronder,
$contents = [];
foreach($categories as $category){
$category->limitedContents = $category->contents()->with('languages')->limit(4);
}
En door dit te doen krijgt u 4 inhoud per categorie in alle categorieën met limitedContents
.