Les fonctions take() et limit() ne fonctionneront pas avec un chargement rapide si vous récupérez plusieurs modèles parents à l'aide de get().
Il faut donc faire autrement,
$categories = Category::with('contents')->get();
Après avoir récupéré $categories
, vous pouvez faire une boucle foreach comme ci-dessous,
$contents = [];
foreach($categories as $category){
$category->limitedContents = $category->contents()->with('languages')->limit(4);
}
Et en faisant cela, vous obtiendrez 4 contenus par catégorie dans toutes les catégories avec limitedContents
.