我在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
答案 0 :(得分:0)
您始终需要为要通过质量分配保存的属性设置一些验证规则。 例如。只需再添加一条规则,您的中间名就会被保存:
public function rules()
{
return [
[['firstname', 'lastname'], 'required'],
['middlename', 'string'], // rule for middlename
];
}