在 Yii2 中使用数据库中的表单字段时如何修复 "Getting unknown property" 错误?
How to fix the "Getting unknown property" error when using form fields from a DB in Yii2?
我想实施一个解决方案,其中表单的字段类型来自数据库。
我的表格是 ActiveForm
和模特。
我正在将以下内容添加到数据库中:
formfield: textInput
并将此转化为以下形式:
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}(['maxlength' => true]) ?>
这是它唯一的工作方式,而且只适用于文本输入。一旦我删除 (['maxlength' => true])
它就不再工作了,我得到错误:
Getting unknown property: yii\bootstrap\ActiveField::textInput
此外,如果我想要一个复选框或其他东西,(['maxlength' => true])
是不需要的,对吗?
所以我试图像这样将 ()
添加到数据库中:
formfield: textInput()
我仍然遇到错误:
Getting unknown property: yii\bootstrap\ActiveField::textInput()
如何删除 Yii 中的 ()
部分并将其移至数据库?
textInput()
和 checkbox()
是方法,所以你需要使用 ()
来表示你想要一个方法而不是 属性.
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}() ?>
我想实施一个解决方案,其中表单的字段类型来自数据库。
我的表格是 ActiveForm
和模特。
我正在将以下内容添加到数据库中:
formfield: textInput
并将此转化为以下形式:
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}(['maxlength' => true]) ?>
这是它唯一的工作方式,而且只适用于文本输入。一旦我删除 (['maxlength' => true])
它就不再工作了,我得到错误:
Getting unknown property: yii\bootstrap\ActiveField::textInput
此外,如果我想要一个复选框或其他东西,(['maxlength' => true])
是不需要的,对吗?
所以我试图像这样将 ()
添加到数据库中:
formfield: textInput()
我仍然遇到错误:
Getting unknown property: yii\bootstrap\ActiveField::textInput()
如何删除 Yii 中的 ()
部分并将其移至数据库?
textInput()
和 checkbox()
是方法,所以你需要使用 ()
来表示你想要一个方法而不是 属性.
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}() ?>