Typeahead必须是一维数组

时间:2016-05-23 01:07:41

标签: php arrays yii2

我遇到来自yii2框架的widget typeaheadbasic的问题...我正在尝试显示一个数组,但它说“你必须将属性'data'设置为typeahead为一维数组。” 你知道为什么这不起作用吗?

数组返回:

array(2) { [0]=> string(5) "relva" [1]=> string(9) "alcatrão" }

代码:

$tipocampo=ArrayHelper::getColumn(TipoDeCampo::find()->all(), 'tipo');
 echo $form->field($model, 'Tipo_de_campo_idTipo_de_campo')->widget(TypeaheadBasic::className([
               'data' => $tipocampo,
    'options' => ['placeholder' => 'Filter as you type ...'],
    'pluginOptions' => ['highlight'=>true],
    ]));

1 个答案:

答案 0 :(得分:1)

从我在GitHub Usage上看到的,你的语法有点偏。它应该是这样的:

echo $form->field($model, 'Tipo_de_campo_idTipo_de_campo')->widget(TypeaheadBasic::className(), [
           'data' => $tipocampo,
           'options' => ['placeholder' => 'Filter as you type ...'],
           'pluginOptions' => ['highlight'=>true],
        ]
);

您将数组传递给className()函数,但需要将其作为widget函数的第二个参数传递。