私はCommunity
モデルとモデルを持っていContent
ます。それぞれContent
にcommunity_id
柱があります。この単純な関係を作成しました。
$relations['contents'] = array(self::HAS_MANY, 'Content', 'community_id','order'=>'weight DESC, id DESC');
(順序に注意してください)
上位 20 のコンテンツを表示しCommunityController
たい場合 (次に、別の 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);
しかし、コードはやり過ぎ (長すぎる) に見え、作成した Relation をまったく使用していないように感じます。もっと簡単な方法はありますか?それとも、ない問題を探していますか?