数据不是来自模型 - Yii2

时间:2015-06-10 05:52:36

标签: yii2

我在yii

中插入了来自activeForm的数据
<?php $form = ActiveForm::begin([
    'id'          => 'register-form',
    'options'     => ['class' => 'form-horizontal'],
    'fieldConfig' => [
        'template'     => "<div class=\"\">{label}{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
        'labelOptions' => ['class' => 'col-lg-1 control-label'],
    ],
]);?>

<?= $form->field($model, 'firstname')->textInput(['placeholder' => 'First Name']) ?>
<?= $form->field($model, 'middlename')->textInput(['placeholder' => 'Middle Name']) ?>
<?= $form->field($model, 'lastname')->textInput(['placeholder' => 'Last Name']) ?>

然后我创建了一个模型,并通过createCommand

将数据插入到db中
$db = Yii::$app->db->createCommand();
$db->insert('person', [..])->execute();

这里我给出了firstname和lastname的规则(必需)。 所以中间名值为NULL

如果我给中间名要求,那么值存储在db中。否则它是NULL

1 个答案:

答案 0 :(得分:0)

您始终需要为要通过质量分配保存的属性设置一些验证规则。 例如。只需再添加一条规则,您的中间名就会被保存:

public function rules()
{
    return [
         [['firstname', 'lastname'], 'required'],
         ['middlename', 'string'], // rule for middlename
    ];
}