Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2 必须指定错误InputWidget.php第75行属性_Yii2_Tags_Yii2 Extension - Fatal编程技术网

Yii2 必须指定错误InputWidget.php第75行属性

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

我想使用标记创建输入字段。但我有一个错误:

“名称”或“模型”和“属性”属性必须为 指定的

在第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 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' => ';',
    ],
]) ?>