Имам модел 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);
Но кодът ми изглежда прекалено дълъг (твърде дълъг) и имам чувството, че изобщо не използвам релацията, която създадох. Има ли по-прост начин? Или търся проблеми там, където ги няма?