0

私は、Yii フレームワーク上に構築された私の Web サイトの投票セクションに取り組んでいます。私は ajax を使用して、回答モデルをロードし、正/負の投票をインクリメントする必要がある php スクリプトを呼び出していますが、このスクリプトは回答のモデル クラスにアクセスできません。require_once('Answer.php')それを使用してくださいActiveRecord.php Class not found..私のスクリプトファイルはクラスではないため、ActiveRecordクラスを拡張できません.YiiコードをいじらずにスクリプトにAnswerモデルをロードできる方法があるかどうか疑問に思っています.私はyiiの初心者です、ありがとう、これが私のjsです

function downVoteAnswer(id){
    var data= $.get("/codepacu/protected/models/votehandler.php",function(data){
    $('#ans-downvote-'+id).text(data);
    });

    }

ここに私のphpスクリプトファイルがあります

require_once('Answer.php');
$model=Answer::loadModel(4);
$model->up_vote=$model->up_vote++;
$model->save();
echo $model->up_vote;
4

1 に答える 1

0

このエラーは Yii に固有のものではなく、どの PHP コードでも同様です。

クラスの定義が利用可能な場合にのみ、クラスを使用できます。あなたの場合、定義は部分的にしか読み込まれません。Answer.phpモデル クラスのファイルを既に読み込んでいますAnswerが、そのクラスは複数のファイルで定義されています。

したがって、これにはロードするファイルがさらに必要になります。必要なすべてのクラスを特定し、関連ファイルを要求します。

これは大量になる可能性があるため、通常は Yii 自体の中に ajax コントローラー エンドポイントを作成することをお勧めします。

于 2012-08-05T15:56:20.887 に答える