как объединить две таблицы с отношением в YII?

У меня есть две таблицы компании и пользователей. В пользовательской таблице есть поле с именем company_id, которое связывает пользователей с компанией. Но не все пользователи будут связаны с компанией. Будут пользователи без идентификатора компании. Теперь мне нужно перечислить пользователей в виде сетки, используя отношение. Я связал компанию с пользователями, использующими отношения в yii.

public function relations() {
return array('company' => array(self::BELONGS_TO, 'Company', 'company_id'));
}

Но он показал ошибку, когда я пытался отобразить название компании каждого пользователя. Я думаю, что проблема с пользователями, которые не связаны с компанией. Я искал ответы, придумал операцию левого соединения при установлении связи.

public function relations() {
return array('company' => array(self::BELONGS_TO, 'Company', 'company_id',
'joinType' => 'LEFT JOIN',
'on' => "(company.id=company_id)"));
}

Но это тоже дает мне ошибку.

CDbCommand не удалось выполнить инструкцию SQL: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «company_id» в «предложении where». Выполненный оператор SQL был: SELECT company,id КАК t1_c0, company,name КАК t1_c1, company,telephone КАК t1_c2, company,description КАК t1_c3, company,address КАК t1_c4, company,status КАК t1_c5 ОТ company company ГДЕ ((company.id = company_id)) И (company,id=: Ypl0)

Пожалуйста, помогите мне в этом вопросе. Я новичок в YII.

Заранее спасибо.

1

Решение

Пожалуйста, пройдите по ссылкам ниже, чтобы понять, как работают отношения Yii:

http://www.yiiframework.com/wiki/181/relations-belongs_to-versus-has_one/

http://www.yiiframework.com/doc/guide/1.1/en/database.arr

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector