sql >> Base de Datos >  >> RDS >> Mysql

Límite elocuente de Laravel en relación que tiene subrelación

Las funciones take() y limit() no funcionarán con una carga ansiosa si recupera el modelo principal más de uno usando get().

Así que tienes que hacerlo de otra manera,

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

Después de recuperar $categories , puede hacer un bucle foreach como el siguiente,

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

Y al hacer esto, obtendrá 4 contenidos por categoría en todas las categorías con limitedContents .