📅  最后修改于: 2023-12-03 14:43:49.376000             🧑  作者: Mango
在 Laravel 中,我们可以方便地获取下一条和上一条记录,而无需手动编写 SQL 语句。
拿到当前记录的方法为:$currentModel = Model::find($id);
我们可以使用 ->where
方法和 ->first
方法获取下一条记录。
$nextModel = Model::where('id', '>', $currentModel->id)->first();
在此示例中,我们可以从所有 id 大于当前记录 id 的记录中找到第一个。如果没有任何下一条记录,则 $nextModel
将是 null
。
我们同样可以使用 ->where
方法和 ->first
方法获取上一条记录。
$previousModel = Model::where('id', '<', $currentModel->id)->orderBy('id', 'desc')->first();
在此示例中,我们可以从所有 id 小于当前记录 id 的记录中找到 id
值最大的一条记录,即上一条记录。如果没有任何上一条记录,则 $previousModel
将是 null
。
$currentModel = Model::find($id);
$nextModel = Model::where('id', '>', $currentModel->id)->first();
$previousModel = Model::where('id', '<', $currentModel->id)->orderBy('id', 'desc')->first();
if ($nextModel) {
// 下一条记录存在
}
if ($previousModel) {
// 上一条记录存在
}
以上便是在 Laravel 中获取下一条和上一条记录的方法。