模型 Yii2 中属性的不同值/默认值



我创建了一个 ActiveRecord 模型,用户在其中输入他们的电子邮件并被添加到 Yii2 中的数据库中。将它们添加到数据库时,我想根据它们从哪个视图输入信息来更新我的一个属性。我知道 Yii2 可以让你在模型中设置默认值,比如

public function rules()
{
return [
[['view'], 'default', 'value' => a]
]
}

但我不确定如何根据每个视图设置不同的默认值。在我看来,我有form->字段($model,"电子邮件"(并提交供用户输入,我尝试了setAttributesetAttributes并创建自己的set方法,但它们都无法设置属性(我猜如果我说查询我的数据库并在已经存在的模型实例上执行它们,它们会起作用(。

我确定我忽略了一些非常简单的东西

不应基于当前视图定义默认值,因为模型(通常(不能从视图中使用,而是从控制台应用程序或代码中与特定视图无关的其他位置使用。

正如@Patrick所说,您可以在每个视图中添加隐藏字段,例如:

<?= $form->field($model, 'view')->hiddenInput(['value'=> $this->id /* view id or whatever */])->label(false);

最新更新