Yii - usando relaciones con ámbitos definidos en la relación

Tengo un modelo con algunas relaciones definidas como sigue.

public function relations()
{
    return array(
        'linkingTable' => array(self::HAS_MANY, 'LinkingTable', array('this_id'=>'id'), 'scopes'=>array('valid')),
        'linkedItems' => array(self::HAS_MANY, 'LinkedItem', array('linked_item_id'=>'id'), 'through'=>'linkingTable', 'scopes'=>array('valid')),
    );
}

Tanto la tabla de enlace como los elementos vinculados tienen un alcance válido:

public function scopes() {
    return array(
        'valid'=>array(
            'condition'=>"t.`valid`=1",
        ),
    );
}

Para que las consultas de unión generadas funcionen con el ámbito de relación, he tenido que modificar los ámbitos de la siguiente manera:

public function scopes() {
    return array(
        'valid'=>array(
            'condition'=>"`linkingTable`.`valid`=1",
        ),
    );
}

y:

public function scopes() {
    return array(
        'valid'=>array(
            'condition'=>"`linkedItems`.`valid`=1",
        ),
    );
}

El problema es que esos ámbitos no funcionarán cuando se utilicen directamente desde el modelo vinculado, es decir:

$linkedItems = LinkedItem::model()->valid()->findAll();

Resultados en un error decir quelinkedItems no es un alias definido. Lo cual es comprensible, por supuesto. También resulta en una necesidad para cualquier otro modelo que quiera poseer algunos LinkedItems que necesitan definir la relación de la misma manera.

Es la única solución para definir un alcance diferente para cada caso de uso, como este:

public function scopes() {
    return array(
        'valid'=>array(
            'condition'=>"t.`valid`=1",
        ),
        'validForModelRelation'=>array(
            'condition'=>"`linkedItems`.`valid`=1",
        )
    );
}

Esto se siente un poco cludgey. Me pregunto si hay una mejor manera de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta