如何做到 Laravel Eloquent 获取第一个出现的特定项目进行分页

How to do Laravel Eloquent get with a specific item appearing first for pagination

我有一个用例,我需要从 table 中获取所有行,当前选定的行首先出现,并在用户滚动浏览 table 时显示其余行。我目前有它的设置,我使用 eloquent 查找来获取单个项目,然后使用 eloquent 获取并合并结果,如果页码是 1。有没有更好的方法来处理这个或这是处理此用例的最佳方式吗?

您可以使用 SQL 的排序方式,如前所述 here:

$selectedImageId = 2;
$images = \App\Models\Image::orderByRaw('case when id=? then -1 else 0 end, created_at desc', [$selectedImageId])->get();

我认为这应该可行:

$result = Model::orderByRaw("id = $selected DESC")->get();