正如您从下面的两个片段中猜到的那样,我将在显示部件详细信息时引用类别表。
零件型号:
public function relations() {
return array(
'category' => array(self::BELONGS_TO, 'Category', 'fid_caty2') );
}
类别型号:
public function relations() {
return array('part' => array(self::HAS_MANY, 'Part', 'fid_caty2') );
}
我已经学习了这种在视图中呈现引用值的方法:
echo CHtml::encode($data->category->name_caty2);
我也找到了一些其他方法,但它们都发生在视图中。既然模型设置了关系,为什么不应该将引用的值包含在CActiveRecord
模型的中?我认为这正是我们为模型保留的那种嘎吱声。在视图中解决它似乎很奇怪,加上很多额外的工作。
如果我是对的,我该如何让它在模型视图中工作?还是我对 MVC 的理解需要修正?
这个怎么样
public function loadModel($id)
{ $model=Part::model()->findByPk($id);
if($model===null)
throw new CHttpException(404,'The requested page does not exist.');
return $model;
}
这是在控制器页面中。我可以在加载时将我的引用值偷偷带入模型吗?