MANY_MANY с условием по полю

Доброго вечера всем!

Имеется таблицы Node(id, title) NodeTag(nodeId, tagId, nodeType) Tag(id, tag)

Как можно реализовать связь MANY_MANY с условием по полю nodeType типа


class Node extends CActiveRecord{ 

.. 

public function relations(){

   $model=>get_class($this);

   return array(     

     'tagged'=>array(self::MANY_MANY, 'Tag', 'NodeTag(nodeId, tagId)',

     'on'=>'node_tag.nodeType=:nodeType',  

     'params'=>array(':nodeType'=>$model))

реально ли каким-то образом задать алиас для таблицы NodeTag??

Сталкивался с такой задачей, решение скорее всего не самое красивое, но работает. Будет что-то в этом духе


'tagged'=>array(self::MANY_MANY, 'Tag', 'NodeTag(nodeId, tagId)',

     'condition'=>'tagged_??.nodeType=:nodeType',  

     'params'=>array(':nodeType'=>$model->getType()))

Нет. Но ИМХО безопаснее всего завести модель и во всех criteria обращаться, как NodeTag::model()->tableName().