最近、簡単な記事の詳細ページを作成しました。分析後に、ページの下部に前の記事と次の記事のボタンを追加する必要があります。
現在のIDを1加算または減算することを考え始めましたが、IDの一部が失われると間違っていることを考慮して、現在の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 中国語 Web サイトをサポートしていただければ幸いです。
「前の記事、次の記事」機能を実装する yii2 のその他のコード例については、PHP 中国語 Web サイトの関連記事に注目してください。