J'ai récemment créé une page de détails de l'article à réponse courte. Je dois ajouter les boutons de l'article précédent et de l'article suivant en bas de la page. Après analyse, le besoin le plus fondamental est le titre et l'identifiant de l'article (en tant que paramètres). .
J'ai d'abord pensé à ajouter ou soustraire 1 à l'identifiant actuel, mais étant donné que ce serait une erreur si une partie de l'identifiant était perdue, j'ai interrogé respectivement des enregistrements plus grands et plus petits que l'identifiant actuel et je les ai limités à un, j'ai donc trouvé le code suivant.
Le code est le suivant, merci de me faire savoir s'il est faux.
Dans le contrôleur
//查询上-篇文章 $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, );
En vue
<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>
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois.
Pour plus d'exemples de code de yii2 implémentant la fonction "article précédent, article suivant", veuillez faire attention au site Web PHP chinois !