many_many работает в одну стророну

Здравствуйте.

Меня сегодня застало врасплох непонятное поведение реляционной актив рекорд.

модель Branch:


public function relations() {

        return array(

            'categories' => array(self::MANY_MANY, 'Category', 'branch_category(branch_id, category_id)'),

        );

модель Category:


    public function relations() {

        return array(

            'branches' => array(self::MANY_MANY, 'Branch', 'branch_category(branch_id, category_id)'),

        );

    } 

Таблица branch_category имеет 2 поля, оба int(11) и заполнена правильными значениями.

Теперь обращаемся к внешней связи из модели Branches:


print_r(Branches::model()->findByPk(5)->categories);

 

Выводит правильную информацию - заполненую модель

Обращаемся к внешней связи в модели Categories:


print_r(Category::model()->findByPk(50023904)->branches);

 

Выводит array().

Что я только не делал, что только не менял, но результат неизменный - одна внешняя связь работает, другая возвращает пустой массив.

А в логах-то что пишут?

Спасибо, я уже разобобрался.

Надо было заменить


'categories' => array(self::MANY_MANY, 'Category', 'branch_category(branch_id, category_id)'),

на


'categories' => array(self::MANY_MANY, 'Category', 'branch_category(category_id, branch_id)')