[英]Laravel records after a given ID
我想在给定的记录ID后得到10条记录。
$media = Media::where('active', '=', 1)->after('id',$after)->take(10)->get();
没有after
在Laravel功能。 还有另一种方法吗?
你的意思是id > $after
?
$media = Media::where('active', '=', 1)
->where('id', '>', $after)
->take(10)
->get();
另外要确保结果将按ID排序,然后在$after
取前10个:
$media = Media::where('active', '=', 1)
->where('id', '>', $after)
->orderBy('id', 'asc')
->take(10)
->get();
使用另一个where
子句 :
$media = Media::where('active', 1) // don't need the "="
->where('id', '>', $after)
->take(10)
->get();
这将在SQL中构建以下查询(假设您的$table
在Media模型中定义为“media”):
SELECT *
FROM media
WHERE active = 1
AND id > $after
LIMIT 10
正如@lukasgeiter所提到的 ,您应该按id列来排序结果,因为如果没有order by语句,则无法保证结果的顺序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.