Activerecord 我有很多亲戚一直不工作
我一直在遵循教程,在业务模型和类别模型之间建立许多关系 我的桌子是:Activerecord 我有很多亲戚一直不工作,activerecord,yii,Activerecord,Yii,我一直在遵循教程,在业务模型和类别模型之间建立许多关系 我的桌子是: 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(
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)'),
);
}
在我的分类模型中
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
没有任何结果
可能有什么问题?假设您已经完成了一个var_dump$模型,并确保它不为NULL,并且确实有一个从loadModel()返回的模型,我怀疑这可能是由于您的列在业务关系中的顺序造成的。尝试: 类别模型:
public function relations()
{
return array(
'businesses'=>array(self::MANY_MANY, 'Business',
'business_category(businessID,categoryID)'), // Swapped order of columns
);
}
我的坏。。。我从一个查询返回了多条记录,这就是为什么
$model->categories
不起作用。您是否尝试跳过loadModel(),改为使用$model=new YOURMODELNAME::model()->findByPk($pk)?