【发布时间】:2014-04-24 10:33:12
【问题描述】:
我遇到了很多关于“试图获取非对象的属性”的帖子,但我仍然无法弄清楚我的问题。 我有一个 webapp,当我创建一个表单时,它给了我这个错误-
view.php:
$this->breadcrumbs=array(
'Events'=>array('index'),
$model->ename, //Error at this line
);
控制器:
public function actionView($id)
{
$this->render('view',array(
'model'=>$this->loadModel($id),
));
}
public function loadModel($id)
{
$ename= Event::model()->ename;
$model = Event::model()->findByPk($id,$ename);//tried this since I have composite key
if($model===null)
throw new CHttpException(404,'The requested page does not exist.');
return $model;
}
【问题讨论】:
-
如果 $this->loadModel($id) 返回任何对象或空值,您应该调试/检查(可能正在使用 vardump)。如果有时它可以返回 null,那么您应该对其进行一些限制。
-
你的控制器叫什么名字,你的模型叫什么名字?
-
控制器名称为EventController,型号为Event
-
您确定您的
$id是一个有效的ID,并且您也可以在您的数据库中找到这个ID?因为就像@lihsus 写的那样,看起来你的控制器找不到这个id 的模型。