Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel Eloquent Limit in Relation che ha Sub Relation

Le funzioni take() e limit() non funzioneranno con il caricamento ansioso se si recupera più di uno modello genitore utilizzando get().

Quindi devi fare un altro modo,

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

Dopo aver recuperato $categories , puoi eseguire il ciclo foreach come di seguito,

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

E così facendo otterrai 4 contenuti per categoria in tutte le categorie con limitedContents .