我有一个Community
模型和一个Content
模型。每个Content
都有一community_id
列。我创建了这个简单的关系:
$relations['contents'] = array(self::HAS_MANY, 'Content', 'community_id','order'=>'weight DESC, id DESC');
(注意订单)
在CommunityController
我要显示的内容中说前 20 个内容(然后在另一个 ajax 操作中获取下一个 20,不用担心)。
我可能可以通过标准来做到这一点,比如:
$criteria = new CDbCriteria;
$criteria->compare('community_id',$model->id);
$criteria->limit = 20;
$criteria->order = 'weight DESC, id DESC';
$contents = Content::model()->findAll($criteria);
但是代码对我来说看起来有点矫枉过正(太长了),我觉得我根本没有使用我创建的关系。有没有更简单的方法?还是我在寻找不存在的问题?