Добрый день,
Стоит задача сделать переходы между постами на сингл странице. Две кнопки следующий и предыдущий
На данный момент у меня переход идет от текучего до самого первого тобишь.
предыдущий(1) - текущий(2) - следующий(3)
предыдущий(1) - текущий(3) - следующий(4)
предыдущий(1) - текущий(4) - следующий(5)
предыдущий(1) - текущий(5) - следующий(6)
и тд.
Но как мне поправить код который в модельке, так что бы он выводил по типу
предыдущий(1) - текущий(2) - следующий(3)
предыдущий(2) - текущий(3) - следующий(4)
предыдущий(3) - текущий(4) - следующий(5)
предыдущий(4) - текущий(5) - следующий(6)
Как мне правильно отсортировать все это дело?
код в модельке
public static function getNextOrPrevEventPost($id_event,$operator)
{
$data = [];
switch($operator) {
case '<' :
$data = Events::find()
->select('id,title,image')
->where(['<','id',$id_event]);
break;
case '>' :
$data = Events::find()
->select('id,title,image')
->where(['>','id',$id_event]);
break;
}
return $data->one();
}
Код контроллера на всякий случай
public function actionView()
{
$getIdEvents = Yii::$app->request->get( 'id' );
$postPaginationEventPrev = Events::getNextOrPrevEventPost($getIdEvents,'<');
$postPaginationEventNext = Events::getNextOrPrevEventPost($getIdEvents,'>');
$getSingleEvent = Events::find()
->where( ['id' => $getIdEvents] )
->all();
return $this->render( 'view', [
'getSingleEvent' => $getSingleEvent,
'postPaginationEventPrev' => $postPaginationEventPrev,
'postPaginationEventNext' => $postPaginationEventNext,
] );
}