Yii2,模型参数在widget中的作用是什么?

时间:2015-06-03 00:41:16

标签: yii2 yii-widgets

echo Select2::widget([
    'model' => $vendorModel,
    'attribute' => 'id',
    'data' => $vendor,
    'options' => ['placeholder' => 'Select a vendor ...'],
    'pluginOptions' => [
        'allowClear' => true
    ],
]);

上面的Select2小部件(以及大多数小部件都相同)需要Model属性,但我不知道模型在Widget中的作用,因为即使我放了任何其他模型对象,它也能正常工作。 / p>

用$ userModel取代了模型,根本没有与供应商模型相关,我试过了,它确实有效。

echo Select2::widget([
    'model' => $userModel,
    'attribute' => 'id',
    'data' => $vendor,
    'options' => ['placeholder' => 'Select a vendor ...'],
    'pluginOptions' => [
        'allowClear' => true
    ],
]);

我应该如何理解模型?

1 个答案:

答案 0 :(得分:0)

Select2小部件是Yii2输入小部件的一个实例,它为模型属性呈现输入。它对于您创建/更新模型的表单很有用。所以例如如果是actionCreate(),你应该使用新的ActiveRecord模型实例来构建小部件' model'属性和要填充的属性名称'属性'。

因此,在您的示例中,您尝试使用$ vendor list中的某个键设置模型ID。所有型号都适合您的小部件设置,因为它们都具有“ID”功能。

我认为您需要提供一些其他属性,例如' VENDOR_ID&#39 ;.请注意,您的$ vendor列表应将供应商ID作为密钥,例如供应商名称为值。