Php yii2-模型加载函数不设置某些模型属性
我正在开发一个PHPYII2应用程序。我对yii2Php yii2-模型加载函数不设置某些模型属性,php,yii2,yii2-advanced-app,Php,Yii2,Yii2 Advanced App,我正在开发一个PHPYII2应用程序。我对yii2yii\base\Model.load函数有一个奇怪的问题。我的问题是: 我有一个名为PaymentIncreaseBalanceForm的表单模型,如下所示: class PaymentIncreaseBalanceForm extends yii\base\Model { public $amount; public $receiptNumber; public $description; ... }
yii\base\Model.load
函数有一个奇怪的问题。我的问题是:
我有一个名为PaymentIncreaseBalanceForm
的表单模型,如下所示:
class PaymentIncreaseBalanceForm extends yii\base\Model {
public $amount;
public $receiptNumber;
public $description;
...
}
以下是我的视图文件的一部分:
<?= $form->field($model, 'amount')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'receiptNumber')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
提交表单后,我用die()
和所有三个参数amount
,receiptNumber
,description
记录了Yii::$app->request->post()
,它们的值都是正确的(一切都是正确的)。但是在调用$modelForm->load
函数之后,这是我的模型属性:
$amount => 1000,
$receiptNumber => 887412141,
$description => NULL,
$description
始终为空!我不知道这个领域有什么问题。我的代码有问题吗?从视图文件中的描述
中删除$sign可能没有为代码中的描述属性添加规则
检查rules()
方法以确认它
默认情况下,方法load()
仅将“安全”值应用于属性,如果在当前场景中有规则,则该值被视为“安全”。类似的问题通常可能由(比如Bizley)引起
在具有许多规则和场景的复杂情况下,您可以通过检查当前安全属性。
在加载数据之前立即执行它 也许他的密码有错。等待他的回答。对不起,这是我代码中的一个错误,我编辑了我的问题。谢谢你的回答。添加safe
解决了我的问题。请参阅以获取可以在rules()
中指定的不同验证器的含义。“安全”是一个特殊的验证器(甚至不是验证),对于您的描述,您可以使用“字符串”,请您签出
$amount => 1000,
$receiptNumber => 887412141,
$description => NULL,