陈兴 / yii2-linkage
一个非常简单好用的YII2任意多级联动,包含全国数据库和AR模型。可以联动如城市、栏目等所有具有上下级关系的数据,兼容任意的数据表结构,只需进行一些设置,即可立即支持你的表结构,并与ActiveForm完美结合进行增加和修改
dev-master
2019-05-20 03:00 UTC
Requires
- php: >=5.6
- xing.chen/helper: dev-master
This package is auto-updated.
Last update: 2024-09-16 13:18:54 UTC
README
一个非常简单好用的YII2任意多级联动,包含全国数据库和AR模型。可以联动如城市、栏目等所有具有上下级关系的数据,兼容任意的数据表结构,只需进行一些设置,即可立即支持你的表结构,并与ActiveForm完美结合进行增加和修改
安装
composer require xing.chen/yii2-linkage
##配置
<?php 'modules' => [ 'linkage' => [ 'class' => 'xing\yii2Linkage\Module', 'regionModel' => 'xing\yii2Linkage\models\Region', ] ]
使用示例
<?= $form->field($model, 'nativeProvinceId', ['labelOptions' => ['label' =>'籍贯'], 'options' => ['class' => 'form-group form-inline']]) ->widget(\xing\yii2Linkage\Linkage::className(), [ 'linkageLevel' => 2, // 最多联动多少级,0表示无限 'fieldLevelName' => [$model->formName() . '[nativeProvinceId]', $model->formName() . '[nativeCityId]'], // 每一级的表单名,留空则使用linkageId-x作为表单名 'fieldsValue' => $model->isNewRecord ? null : [$model->nativeProvinceId, $model->nativeCityId], // 值 // 'linkageModel' => 'xing\yii2Linkage\models\Region', // 自定使用哪个联动模型 // 'relationField' => 'parentId' // 自定子数据库中父子关系使用的字段名,默认parentId // 'nameField' => 'name', // 自定义数据库中名称字段名,默认name // 'options' => ['class'=>'form-control form-control-inline'], // 自定义表单选项 ]); ?>
多个字段联动和单个字段联动说明:
如果是多个字段,例如使用provinceId和cityId分别保存两级城市联动的,只需设置fieldLevelName的值即可。需要注意的是,fieldLevelName和fieldsValue的键值是对应的。
如果是单个字段联动,则无需额外设置,正常使用$form->field($model, '字段名')->widget(...)即可