yii2, рендерю view записи, также нужно добавлять кнопки "вперед" и "назад", для навигации по записям.
все сделал, выглядит так:
public function actionView($id)
{
// $model = Images::findOne(['id' => $id]);
$next = $id;
$prev = $id;
$all = Images::find()->all();
foreach ($all as $key => $item) {
if ($item['id'] == $id){
$model = $item;
if (array_key_exists($key + 1, $all)){
$next = $all[$key + 1]['id'];
}
if (array_key_exists($key - 1, $all)){
$prev = $all[$key - 1]['id'];
}
break;
}
}
if (!$model || !$id){
throw new HttpException(404, '404');
}
return $this->render('view', [
'model' => $model,
'next' => $next,
'prev' => $prev,
]);
}
это работает, но при большом количестве записей страницы грузятся по 10+ секунд, а это неприемлимо.
как переписать данный кусок кода? по сути мне нужно просто узнать id соседних элементов, но пока я ничего другого не придумал.