陈兴/yii2-linkage

一个非常简单好用的YII2任意多级联动,包含全国数据库和AR模型。可以联动如城市、栏目等所有具有上下级关系的数据,兼容任意的数据表结构,只需进行一些设置,即可立即支持你的表结构,并与ActiveForm完美结合进行增加和修改

安装: 8

依赖: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2019-05-20 03:00 UTC

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(...)即可