У меня есть две таблицы компания и пользователи. В таблице пользователей есть поле с именем 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
ASt1_c0
,company
.name
ASt1_c1
,company
.telephone
ASt1_c2
,company
.description
ASt1_c3
,company
.address
ASt1_c4
,company
.status
ASt1_c5
FROMcompany
company
WHERE ((company. id=company_id)) И (company
.id
=:ypl0)
Пожалуйста, помогите мне в этом вопросе. Я новичок в yii.
Заранее спасибо.
'on' => "(company.id=company_id)"
- person topher   schedule 24.09.2014