这里有新鲜出炉的精品教程,程序狗速度看过来!
Yii 2 完全根据 Yii 1.1 版本重写,后者是最流行的 PHP 框架之一。Yii 2 继承了 Yii 的简洁、快速、和高扩展性。Yii 2 需要 PHP 5.4,并且拥有现代 web 应用开发中最好的实例和协议。
在很多页面上都需要加入上一篇, 下一篇 按钮,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近做了简答的文章详情页面, 需要在页面底部加入上一篇, 下一篇 按钮, 分析了下, 最基本需要有文章的标题和 id(作为参数).
开始想的是当前的 id 加减 1, 但考虑到如果部分 id 丢失就不对了, 于是分别查询比当前 id 大和小的记录并且限定为一条, 于是有了以下代码。
代码如下, 不对的地方请指教.
控制器中
- //查询上-篇文章
- $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,
- );
视图中
来源: http://www.phperz.com/article/17/0730/340636.html