Объединения по не ключевым полям

Всем привет.

Подскажите как сделать связь AR по не ключевым полям?

Например :

таблицы




Articles

   id (pk)

   chain_id

   text


Comments

   id (pk)

   chain

   text



И надо выбрать все записи из таблицы comments у которых chain соответсвует chain_id из articles

а какое отношение между ними ?

Один ко многим (HAS_MANY). В Articles поле chain_id - это номер цепочки, для того что бы можно было быстро выбрать все комментарии к статье. Таблицы я специально упростил, а так в Comments не хватает полей организующих дерево комментариев.

Вы бы еще пронормализировали свои "упрощения", тогда все заработает…

UPD: что ж вы nested sets используете, а вводите какие-то дополнительные понятия, предоставьте описание модели Chain

Yii насколько мне известно не способен организовать такие отношения а жаль :(

Во всех реализованных типах отношений в Yii хоть одно поле но должно быть ПК

Вы думаете это недостаток Yii или все-же достоинство формы рук!? :rolleyes:

UPD: а вообще вы можете попробывать отнаследоваться от CActiveRelation (CBelongsToRelation/CHasOneRelation) и написать свой тип связки, который будет принимать в качестве проперти ключи для связывания, как в родительской, так и в связываемой модели…

Конечно не достаток. В некоторых случаях нормализация отношений ЗЛО.