Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel Elokwentny limit w relacji, która ma sub-relację

Funkcje take() i limit() nie będą działać z gorliwym ładowaniem, jeśli pobierzesz więcej niż jeden model nadrzędny za pomocą get().

Musisz więc zrobić inny sposób,

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

Po pobraniu $categories , możesz wykonać pętlę foreach jak poniżej,

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

Robiąc to, otrzymasz 4 treści na kategorię we wszystkich kategoriach z limitedContents .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL konwertuje datetime na unixtime?

  2. Jak napisać bezpieczne porównanie o wartości null <=> w czystym SQL?

  3. Jak zwrócić wywołanie zwrotne zapytania MySQL i wypchnąć do tablicy w Node.js?

  4. Wielokrotne przypisania Yii2 RBAC dla każdego użytkownika na podstawie grup

  5. Kopia zapasowa MySQL:Czy mogę kopiować poszczególne pliki tabeli MyISAM na inny serwer z inną wersją MySQL i innym systemem operacyjnym?