Yii2 必须指定错误InputWidget.php第75行属性
我想使用标记创建输入字段。但我有一个错误: “名称”或“模型”和“属性”属性必须为 指定的 在第75行的/var/www/html/paramoor/vendor/yiisoft/yii2/widgets/InputWidget.php中:Yii2 必须指定错误InputWidget.php第75行属性,yii2,tags,yii2-extension,Yii2,Tags,Yii2 Extension,我想使用标记创建输入字段。但我有一个错误: “名称”或“模型”和“属性”属性必须为 指定的 在第75行的/var/www/html/paramoor/vendor/yiisoft/yii2/widgets/InputWidget.php中: /** * Initializes the widget. * If you override this method, make sure you call the parent implementation first. */ public fun
/**
* Initializes the widget.
* If you override this method, make sure you call the parent implementation first.
*/
public function init()
{
if ($this->name === null && !$this->hasModel()) {
throw new InvalidConfigException("Either 'name', or 'model' and 'attribute' properties must be specified.");
}
if (!isset($this->options['id'])) {
$this->options['id'] = $this->hasModel() ? Html::getInputId($this->model, $this->attribute) : $this->getId();
}
parent::init();
}
这是我的视图代码:
<?= $form->field($modelDetail, 'product_id')->widget(TagsinputWidget::classname(),
[
'clientOptions' => [
'trimValue' => true,
'allowDuplicates' => false,
'delimiter' => ';',
],
]) ?>
在为字段/过滤器等使用小部件时,您需要提供其中一个(或两个)选项。您有两种选择: 给出模型和属性:
仅给出名称(作为组合模型和属性名称):
我建议使用第一个选项,就像模型名称已更改一样,您不需要搜索此模型名称用作字符串的位置。什么是
$modeldail
?它是派生类型吗?您确定使用产品id
?此属性包含标签?不常见的名称…我尝试添加模型、属性或名称,就像上面所做的那样,但它不起作用。它仍然会得到必须指定的'name'或'model'和'attribute'属性。
错误
<?= $form->field($modelDetail, 'product_id')->widget(TagsinputWidget::classname(),
[
'model' => $modelDetail,
'attribute' => 'product_id',
'clientOptions' => [
'trimValue' => true,
'allowDuplicates' => false,
'delimiter' => ';',
],
]) ?>
<?= $form->field($modelDetail, 'product_id')->widget(TagsinputWidget::classname(),
[
'name' => 'ModelDetail[product_id]',
'clientOptions' => [
'trimValue' => true,
'allowDuplicates' => false,
'delimiter' => ';',
],
]) ?>