Sonucu Laravel'in ELOQUENT ORM ile “sınırlamanın” bir yolu var mı?


Yanıtlar:


241

Eloquent'i genişleten bir Oyun modeli oluşturun ve bunu kullanın:

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

take()burada 30 kayıt alacaksınız ve skip()burada 30 kayıt kaymaya başlayacak.


Son Laravel sürümlerinde şunları da kullanabilirsiniz:

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

Laravel ORM ile ilgili şu soruya bir göz atmanızı isteyebilir miyim ? stackoverflow.com/questions/59956706/… ?
Istiaque Ahmed

17

Sonuçları sayfalamak istiyorsanız , tümleşik sayfalayıcıyı kullanın, harika çalışıyor!

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

3
Bu gerçekten inanılmaz! Bootstrap'i kullanmak, kelimenin tam anlamıyla ihtiyacınız olan tüm kod denetleyicinizde $ games = Game :: paginate (30) ve sizin görüşünüzde {{$ games-> links ()}} ... her şeyi halleder. Sevgili Laravel!
david_nash


0

Ayrıca, aşağıdaki şekillerde kullanabiliriz

Sadece ilk önce

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

Limit ve ofset ile almak için

$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();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.