繁体   English   中英

Yii2将模型保存到数据库

[英]Yii2 save model to database

我正在尝试使用Yii2做简单的CRUD应用程序,但是当我尝试保存数据时,没有出现验证错误,并且$model->validate()返回false。 这是我的代码:

public function actionCreate()
{
    $model = new Game();
    if($model->load(Yii::$app->request->post()) && $model->save())
    {
        $this->redirect(['game-list']);
    }
    return $this->render('create', ['model' => $model]);
}

因此, $model->load()返回true,这是我的模型中的rules()

public function rules()
{
    return [
        [['title', 'subtitle', 'description'], 'required'],
        [['id_type', 'is_active', 'picture'], 'default'],
    ];
}

我在数据库中有7列(此6 + id作为主键)。 如果有人帮助我,我会很高兴。

UPD:查看:

<? $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<?= $form->errorSummary($model); ?>
<?= $form->field($model, 'title')->textInput(); ?>
<?= $form->field($model, 'subtitle')->textInput(); ?>
<?= $form->field($model, 'description')->textInput(); ?>
<div class="form-actions">
    <?= Html::submitButton(Yii::t('app', $model->isNewRecord ? 'Create' : 'Update')); ?>
</div>
<? ActiveForm::end(); ?>

我的错误显然是愚蠢的,但事实确实如此。 我已经在模型中创建了beforeSave方法,但还没有填充它,完全忘记了它的存在。 因此,因为未返回true- validate()无法正确通过。 很抱歉浪费时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM