私は 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 には、コメントを作成するための関数と、ビュー ファイルを変更するための関数の 2 つの関数があります。
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 Model クラス内で $post->addComment を使用してメンバー関数 addComment を呼び出しています。モデルのすべてのメンバー関数は正しく初期化されていますか? 論理的には、これは正しいはずではありませんか? ただし、上記の致命的なエラーが発生しています。
私は何を間違っていますか?
どんな助けでも大歓迎です。
よろしく、
PS - 本当にばかげたことをしていたら申し訳ありません。