我对 Yii 还很陌生,在尝试制作自己的博客应用程序时,我创建了这个功能来为我的帖子添加评论。
但是,我已经根据理论做了所有事情,但仍然得到:
Fatal error: Call to a member function addComment() on a non-object in /htdocs/blog/protected/controllers/PostController.php on line 63
我的 Post.php 模型类有这个功能:
public function addComment($comment){
$comment->tbl_post_id = $this->id;
return $comment->save();
}
我的 PostController.php 有这两个函数,一个用于创建评论,另一个用于更改视图文件。
public function actionView($id)
{
$post=$this->loadModel($id);
$comment=$this->createComment($post);
$this->render('view',array(
'model'=>$post,
'comment'=>$comment,
)); }
protected function createComment($post)
{
$comment=new Comment;
if(isset($_POST['Comment']))
{
$comment->attributes=$_POST['Comment'];
if($post->addComment($comment)) // **This is line 63**
{
Yii::app()->user->setFlash('commentSubmitted',"Your comment has been added." );
$this->refresh();
}
}
return $comment;
}
所以从逻辑上讲,我使用 $post->addComment 在 Post Model 类中调用成员函数 addComment,并且模型的所有成员函数都已初始化,对吗?从逻辑上讲,这不应该是正确的吗?但是,我收到了上述致命错误。
我究竟做错了什么?
任何帮助,将不胜感激。
问候,
PS - 如果我做了一些非常愚蠢的事情,我很抱歉。