Я слежу за this учебником, чтобы установить много-много отношений между бизнес-моделью и моделью категорий.Yii many_many отношение не работает все время
Мои таблицы:
business[id (PK),name,date,...]
business_category[businessID (FK to business.id), categoryID (FK to category.ID)]
category[id (PK), name, date,...]
В моей бизнес-модели я получил
public function relations()
{
return array(
'categories'=>array(self::MANY_MANY, 'Category',
'business_category(categoryID,businessID)'),
);
}
и в моей категории модели я получил
public function relations()
{
return array(
'businesses'=>array(self::MANY_MANY, 'Business',
'business_category(categoryID,businessID)'),
);
}
Когда я перехожу к виджет CListView
'dataProvider'=>new CActiveDataProvider('Business', array(
'data'=>$model->businesses)),
где $model
модель категории, я затем цикл по категориям каждого бизнеса нормально: foreach($data->categories as $category)
Когда я $model = $this->loadModel($id)
хотя $model->categories
не имеет каких-либо результатов.
Что может быть неправильным?
Вы пробовали пропустить loadModel() и сделать $ model = new YOURMODELNAME :: model() -> findByPk ($ pk) вместо этого? –