Is there a way to “limit” the result with ELOQUENT ORM of Laravel?

后端 未结 4 649
深忆病人
深忆病人 2020-11-30 21:54

Is there a way to \"limit\" the result with ELOQUENT ORM of Laravel?

 SELECT * FROM  `games` LIMIT 30 , 30 

And with Eloquent ?

相关标签:
4条回答
  • 2020-11-30 22:01

    We can use LIMIT like bellow:

    Model::take(20)->get();
    
    0 讨论(0)
  • 2020-11-30 22:05

    If you're looking to paginate results, use the integrated paginator, it works great!

    $games = Game::paginate(30);
    // $games->results = the 30 you asked for
    // $games->links() = the links to next, previous, etc pages
    
    0 讨论(0)
  • 2020-11-30 22:12

    Also, we can use it following ways

    To get only first

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

    To get by limit and offset

    $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();
    
    0 讨论(0)
  • 2020-11-30 22:14

    Create a Game model which extends Eloquent and use this:

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

    take() here will get 30 records and skip() here will offset to 30 records.


    In recent Laravel versions you can also use:

    Game::limit(30)->offset(30)->get();
    
    0 讨论(0)
提交回复
热议问题