Есть ли способ «ограничить» результат с помощью ELOQUENT ORM от Laravel?

98

Есть ли способ "ограничить" результат с помощью ELOQUENT ORM Laravel?

 SELECT * FROM  `games` LIMIT 30 , 30 

И с Красноречивым?

Теги:
eloquent
sql-limit

3 ответа

180
Лучший ответ

Создайте модель игры, которая расширяет Eloquent и использует это:

Game::take(30)->skip(30)->get();

take() здесь будет получено 30 записей, а skip() здесь будет смещено до 30 записей.


В последних версиях Laravel вы также можете использовать:

Game::limit(30)->offset(30)->get();
11

Если вы ищете результаты с разбивкой по страницам, используйте встроенный paginator, он отлично работает!

$games = Game::paginate(30);
// $games->results = the 30 you asked for
// $games->links() = the links to next, previous, etc pages
  • 2
    Это серьезно удивительно! Используя bootstrap, буквально весь код, который вам нужен, это $ games = Game :: paginate (30) в вашем контроллере и {{$ games-> links ()}} на ваш взгляд ... он позаботится обо всем. Любящий Laravel!
1

Мы можем использовать LIMIT, например, ниже:

Model::take(20)->get();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню