こんにちは、私はphpとYiiフレームワークのウェブサイトを作成しています。今私は管理モジュールを作成し、このモジュールでcrudを作成しましたが、私はレコードを作成できないようです。私は今のところ持っていることは次のとおりです。php yiiフレームワークでレコードを作成できません
public function actionCreate()
{
$model=new GamesValidator;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
/*
if(isset($_POST['ajax']) && $_POST['ajax']==='games-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
*/
if(isset($_POST['GamesForm']))
{
die('GamesForm is set'); // just to see if GamesForm has some value! but website never shows this massege, it shows just new form, which is my problem.
/*
$model->attributes=$_POST['GamesForm'];
if($model->validate()){
echo ('This is only a test');
return;
} else {
echo ('There was some error!');
return;
}
*/
}
$this->render('create',array(
'model'=>$model,
));
}
が、それは何も表示されません何も全く行われなかったように、ウェブサイトは再びform.phpを示しています。ここに私のビューファイルの小さなコードです:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'games-form',
'enableAjaxValidation'=>true
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
[..........................]
<div class="row buttons">
<?php echo CHtml::submitButton('Submit'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
私は完全なコードを投稿することができませんが、それは長すぎます。
あなたは何が間違っているのか教えていただけますか?検証モデルにエラーがあるかどうかをチェックする方法は?
EDIT
が問題になる場所を示しました!
// you'll have to remove the die() of course, otherwise the rest of the code won't be executed
if($model->validate()){
echo ('This is only a test');
// the next line is important to save records, we are passing false because validation is already done
$model->save(false);
return;
} else {
echo ('There was some error!');
return;
}
はCActiveRecordのメソッドについての詳細を読む - :
さらに詳しい説明が必要な場合はお知らせください。私の現在のソリューションでは、dbの変更を見ることができるはずですが、特定のビューを作成するまでは、アプリケーションの変更を見ることはできません。 –
私はあなたが書いたとおりにしましたが、問題は再び同じです:ウェブサイトは「これは単なるテストです」ではなく、「何かエラーがありました」ではありません。私は何も投稿していないかのように簡単に新しいフォームをロードしました。それはフォームが全くPOSTしないことができますか? – Irakli
@Irakli:検証エラーを表示するには、 'echo( 'いくつかのエラーがありました!');' var_dump($ model-> getErrors()); – DCoder