Страница 1 из 1

Проблемы с through

Добавлено: 2012.01.25, 13:35
dmitrijbelikov
Вообщем вопрос такой. У меня есть таблица User(id, ...) и и таблица Partnership(user_id, employee_id)

В Модели Пользователя связываю работников и пользователей

Код: Выделить всё

class User extends CActiveRecord {
...
        public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
                        'partnerships' => array(self::HAS_MANY,'Partnership','user_id','joinType'=>'INNER JOIN'),
            'employees' => array(self::HAS_MANY, 'User', array('employee_id'=>'id'),'through'=>'partnerships','joinType'=>'INNER JOIN'),
        );
    }
...
}
Модель Partnership

Код: Выделить всё

class Partnership extends CActiveRecord
{
...
    public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
            'employee' => array(self::BELONGS_TO, 'User', 'employee_id'),
            'user' => array(self::BELONGS_TO, 'User', 'user_id'),
        );
    }
...
}
В хочу получить массив работников определённого пользователя сл. образом:

Код: Выделить всё

    public function listUserWorkers($userId) {
        $user = User::model()->findByPk($userId);
        return $user->employees;
    }
 
В view пишу для проверки:

Код: Выделить всё

echo User::model()->listUserWorkers(25); 
Получаю вот такую вот штуку
Yii_though_error.jpg
Yii_though_error.jpg (58.09 КБ) 1466 просмотров

Re: Проблемы с though

Добавлено: 2012.01.25, 13:37
dmitrijbelikov
Yii_though_error_l.jpg
Yii_though_error_l.jpg (220.21 КБ) 1465 просмотров
Вот побольше картинка!

Re: Проблемы с though

Добавлено: 2012.01.25, 14:03
esche
версия Yii какая?

Re: Проблемы с though

Добавлено: 2012.01.25, 14:04
dmitrijbelikov
1.1.8

Re: Проблемы с though

Добавлено: 2012.01.25, 14:08
dmitrijbelikov
Похоже что нужно обновиться до 1.1.9

Re: Проблемы с though

Добавлено: 2012.01.25, 14:12
dmitrijbelikov
Решил проблему.

Re: Проблемы с through

Добавлено: 2012.01.25, 15:16
TM123
А решение?

Re: Проблемы с through

Добавлено: 2012.01.25, 15:37
Caveman
TM123 писал(а):А решение?
dmitrijbelikov писал(а):Похоже что нужно обновиться до 1.1.9
Возможность задавать поля, по которым идет соединение, в виде массива - array('employee_id'=>'id'), появилась в 1.1.9