我有一个Community
模型和Content
模型。每个Content
有一个community_id
列。我创造了这个简单的关系:浏览Yii关系限制
$relations['contents'] = array(self::HAS_MANY, 'Content', 'community_id','order'=>'weight DESC, id DESC');
(注意顺序)
在CommunityController
我想显示说,前20名的内容(然后在另一个阿贾克斯行动得到未来20,没有关于后顾之忧) 。
我大概可以通过标准做到这一点,是这样的:
$criteria = new CDbCriteria;
$criteria->compare('community_id',$model->id);
$criteria->limit = 20;
$criteria->order = 'weight DESC, id DESC';
$contents = Content::model()->findAll($criteria);
但代码看起来矫枉过正我(太长了),我觉得我不是在我创建的所有关联使用。有一种更简单的方法吗?或者我在哪里找不到问题?