최근 단답형 기사 세부정보 페이지를 만들었는데 페이지 하단에 이전 기사 버튼과 다음 기사 버튼을 추가해야 하는데, 분석 후 가장 기본적인 것은 기사 제목과 ID(매개변수)입니다. .
처음에는 현재 아이디에 1을 더하거나 빼볼까 생각했는데, 아이디의 일부가 없어지면 잘못될까봐 현재 아이디보다 큰 레코드와 작은 레코드를 각각 조회하여 다음으로 제한했습니다. 하나, 그래서 다음 코드를 생각해 냈습니다.
코드는 다음과 같으니 틀리면 말씀해주세요.
컨트롤러에서
//查询上-篇文章 $prev_article = 你的模型::find() ->andFilterWhere(['<', 'id', $id]) ->andFilterWhere([其他条件) ->orderBy(['id' => SORT_DESC]) ->limit(1) ->one(); //查询下-篇文章 $next_article = 你的模型::find() ->andFilterWhere(['>', 'id', $id]) ->andFilterWhere(其他条件) ->orderBy(['id' => SORT_ASC]) ->limit(1) ->one(); $model['prev_article'] = [ 'url' => !is_null($prev_article) ? Url::current(['id'=>$prev_article->id]) : 'javascript:;', 'title' => !is_null($prev_article) ? $prev_article->title : '没有了', ]; $model['next_article'] = [ 'url' => !is_null($next_article) ? Url::current(['id'=>$next_article->id]) : 'javascript:;', 'title' => !is_null($next_article) ? $next_article->title : '没有了', ]; return $this->render('view', 'model' => $model, );
뷰에서
<div class="left"> <p>上一篇: <a href="<?=$model['prev_article']['url']?>"> <?=$model['prev_article']['title']?> </a> </p> </div> <div class="right"> <p>下一篇: <a href="<?=$model['next_article']['url']?>"> <?=$model['next_article']['title']?> </a> </p> </div>
위 내용은 이 글의 내용입니다. 모든 내용은 모든 분들의 학습에 도움이 되길 바라며, PHP 중국어 홈페이지도 많은 응원 부탁드립니다.
"이전 기사, 다음 기사" 기능을 구현한 yii2의 더 많은 코드 예제를 보려면 PHP 중국어 웹사이트를 주목하세요!