我想实现一个解决方案,其中表单的字段类型来自数据库。 我的表单是一个带模型的ActiveForm。
我在db:
中添加了以下内容formfield:textInput
以及表格形式:
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}(['maxlength' => true]) ?>
这是它的唯一工作方式,仅适用于textinput。一旦我删除(['maxlength' => true])
它就不再有效了,我收到错误:
获取未知属性:yii \ bootstrap \ ActiveField :: textInput
此外,如果我想要一个复选框或其他内容,则不需要(['maxlength' => true])
,对吧?
所以我试图将()
添加到数据库中,所以像这样:
formfield:textInput()
我仍然收到错误:
获取未知属性:yii \ bootstrap \ ActiveField :: textInput()
如何摆脱yii中的()
部分并将其移至数据库?
你能指点我正确的方向吗?非常感谢你的帮助!
答案 0 :(得分:1)
textInput()
和checkbox()
是方法,因此您需要使用()
来表示您需要方法而不是属性。
<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}() ?>