Laravel 个给定 ID 后的记录
Laravel records after a given ID
我正在尝试在给定的记录 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)
->take(10)
->get();
还要确保结果将按 id 排序,并且您取 $after
之后的前 10 个:
$media = Media::where('active', '=', 1)
->where('id', '>', $after)
->orderBy('id', 'asc')
->take(10)
->get();
使用另一个 where
clause:
$media = Media::where('active', 1) // don't need the "="
->where('id', '>', $after)
->take(10)
->get();
这将在 SQL 中构建以下查询(假设您的 $table
在媒体模型中定义为 "media"):
SELECT *
FROM media
WHERE active = 1
AND id > $after
LIMIT 10
作为 ,您应该按 id 列对结果进行排序,因为如果没有 order by statement,则无法保证结果的顺序。
我正在尝试在给定的记录 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)
->take(10)
->get();
还要确保结果将按 id 排序,并且您取 $after
之后的前 10 个:
$media = Media::where('active', '=', 1)
->where('id', '>', $after)
->orderBy('id', 'asc')
->take(10)
->get();
使用另一个 where
clause:
$media = Media::where('active', 1) // don't need the "="
->where('id', '>', $after)
->take(10)
->get();
这将在 SQL 中构建以下查询(假设您的 $table
在媒体模型中定义为 "media"):
SELECT *
FROM media
WHERE active = 1
AND id > $after
LIMIT 10
作为