上一条下一条记录,yii有没有好的处理方法?还是要自己构造sql语句?

比如博客文章左边显示上一篇,右边显示下一篇。

刚刚写了两个模型类的方法,分享一下:


public function topicPrev($id)

{

	$criteria=new CDbCriteria;

	$criteria->order='id DESC';

	$criteria->condition="id<:id";

	$criteria->params=array(':id'=>$id);

	return $this->find($criteria);

}


public function topicNext($id)

{

	$criteria=new CDbCriteria;

	$criteria->order='id ASC';

	$criteria->condition="id>:id";

	$criteria->params=array(':id'=>$id);

	return $this->find($criteria);

}

view里这样写:


$model->topicPrev($model->id)->title;   //上一条标题

$model->topicNext($model->id)->title;   //下一条标题

巡洋舰真是太热心了,这两天的帖子你会的最多。我是用一个冗长的sql语句实现了。

http://www.yiiframework.com/doc/api/1.1/CDbDataReader#next

楼上的方法更简单,我也学习了!

那上一条呢?

我收了!呵呵!回头会用到!

:rolleyes:

label

有点像SPL里面的next()哈.

不知道reader是不是都是单向的.至少在查询一次数据库的情况下.

还是没法用啊,这个只能在一个php请求里移动到下一个,刷新就不行了