как соединить две таблицы с отношением в 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 AS t1_c0, company.name AS t1_c1, company.telephone AS t1_c2, company.description AS t1_c3, company.address AS t1_c4, company.status AS t1_c5 FROM company company WHERE ((company. id=company_id)) И (company.id=:ypl0)

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

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


person Akash Pius    schedule 24.09.2014    source источник
comment
Удалить 'on' => "(company.id=company_id)"   -  person topher    schedule 24.09.2014


Ответы (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

person Vijay Joseph    schedule 24.10.2014