来自db的Yii2表单字段

时间:2018-06-08 07:46:58

标签: php yii2 active-form form-fields

我想实现一个解决方案,其中表单的字段类型来自数据库。 我的表单是一个带模型的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中的()部分并将其移至数据库? 你能指点我正确的方向吗?非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

textInput()checkbox()是方法,因此您需要使用()来表示您需要方法而不是属性。

<?= $form->field($model, 'rgw')->{$model->rrgw->formfield}() ?>