Php 给定ID后的Laravel记录
我试图在给定记录ID后获取10条记录Php 给定ID后的Laravel记录,php,laravel,laravel-4,Php,Laravel,Laravel 4,我试图在给定记录ID后获取10条记录 $media = Media::where('active', '=', 1)->after('id',$after)->take(10)->get(); Laravel中没有after功能。还有别的方法吗?你是说id>之后是$after吗 $media = Media::where('active', '=', 1) ->where('id', '>', $after)
$media = Media::where('active', '=', 1)->after('id',$after)->take(10)->get();
Laravel中没有
after
功能。还有别的方法吗?你是说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();
你是说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();
使用另一个:
这将在SQL中生成以下查询(假设您的$table
在媒体模型中定义为“媒体”):
同样,您应该按id列对结果进行排序,因为如果没有order by语句,则无法保证结果的顺序。请使用另一种方法:
这将在SQL中生成以下查询(假设您的$table
在媒体模型中定义为“媒体”):
作为,您应该按id列对结果进行排序,因为如果没有order by语句,结果的顺序是不能保证的。您可以在$id>$after
之后使用where子句吗?您可以在$id>$after
之后使用where子句吗?这样做有效,如果我想使用自定义标识符怎么办slug
而不是id
?这只是将id
替换为slug
的一种情况。注意-如果slug
是主键,您需要在model中定义它。mmm看起来我必须首先检索记录ID。这样行吗<代码>其中('slug','>',$after)
<代码>slug
是varchar!好啊通常,如果它在原始SQL中工作,那么您可以在Laravel中为它构建一个查询。如果有疑问,我建议您在尝试在Laravel中构建查询之前,首先在DB上测试查询。这很有效,如果我想使用自定义标识符怎么办slug
而不是id
?这只是将id
替换为slug
的一种情况。注意-如果slug
是主键,您需要在model中定义它。mmm看起来我必须首先检索记录ID。这样行吗<代码>其中('slug','>',$after)<代码>slug是varchar!好啊通常,如果它在原始SQL中工作,那么您可以在Laravel中为它构建一个查询。如果有疑问,我建议在尝试在Laravel中构建查询之前,首先在DB上测试查询。