Чи є спосіб “обмежити” результат за допомогою ELOQUENT ORM Laravel?


Відповіді:


241

Створіть ігрову модель, яка розширює красномовне, і скористайтеся цим:

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

take()тут ви отримаєте 30 записів і skip()тут буде зміщено до 30 записів.


В останніх версіях Laravel ви також можете використовувати:

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

Чи можу я попросити вас поглянути на питання Laravel ORM тут: stackoverflow.com/questions/59956706/… ?
Істіак Ахмед

17

Якщо ви хочете скористатися результатами, використовуйте вбудований пагінатор , він чудово працює!

$games = Game::paginate(30);
// $games->results = the 30 you asked for
// $games->links() = the links to next, previous, etc pages

3
Це серйозно дивовижно! Використовуючи завантажувальний пакет, буквально весь код, який вам потрібен, - це $ games = Game :: paginate (30) у вашому контролері та {{$ games-> links ()}} на ваш погляд ... він піклується про все. Люблячий Ларавель!
david_nash


0

Також ми можемо використовувати його наступними способами

Щоб дістатися лише першим

 $cat_details = DB::table('an_category')->where('slug', 'people')->first();

Щоб отримати обмеження та компенсацію

$top_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(0)->orderBy('id', 'DESC')->get();
$remaining_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(30)->orderBy('id', 'DESC')->get();
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.