我有一個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);
但代碼看起來矯枉過正我(太長了),我覺得我不是在我創建的所有關聯使用。有一種更簡單的方法嗎?或者我在哪裏找不到問題?