有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?

有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?

 SELECT * FROM  `games` LIMIT 30 , 30

那雄辩呢?

190600 次浏览

创建一个扩展 Eloquent 的游戏模型,并使用以下命令:

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

这里的 take()将得到30条记录,这里的 skip()将偏移到30条记录。


在最近的 Laravel 版本中,你也可以使用:

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

如果您正在寻找分页的结果,使用集成的 翻页员,它的工作非常好!

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

我们可以像下面这样使用极限:

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

另外,我们可以通过以下方式使用它

只有第一

 $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();