Существует моделька форумов, так же моделька его юзверей (отдельная таблица).
При листинге форумов надо для каждого проверить принадлежит ли залогиненый пользователь каждому из форумов в листинге и в соответствии с этим вывести ссылку на форум либо просто его заголовок и ссылку на присоединение к форуму.
Если делать внутри foreach для каждого форума следующее:
if(ForumMembers::model()->count("uid=:uid and forumId=:fid",array(':uid'=>Yii::app()->user->id,':fid'=>$model->id))) { echo CHtml::link($model->name,array('show','id'=>$model->id)); } else { echo CHtml::encode($model->name).'<br />'; echo CHtml::link("Присоединиться к группе", array("addmember",'uid'=>Yii::app()->user->id,'id'=>$model->id)); }
, то для каждого элемента происходит отдельный запрос.
Каким образом лучше это оптимизировать?
Может сразу в модели форумов делать джойн на таблицу с условием 'uid'=>Yii::app()->user->id?