laravel-admin 省,市,区三级联动,实现

官方网址
在这里插入图片描述

安装

composer require laravel-admin-ext/china-distpicker

然后发布

php artisan vendor:publish --tag=laravel-admin-china-distpicker

配置
在config/admin.php文件的extensions配置部分,加上属于这个扩展的配置

'extensions' => [

    'china-distpicker' => [
    
        // 如果要关掉这个扩展,设置为false
        'enable' => true,
    ]
]

使用

在数据库表中有三个字段province, city, district, 在form表单中使用它:
默认存入数据库的是省市区的行政代码,而不是省市区的名字,Distpicker所使用的地域编码是基于国家统计局发布的数据, 数据字典为china_area.sql文件.

 $form->distpicker([
            'province' => '省',
            'city'     => '市',
            'district' => '区'
        ]);

Grid 列表展示需要转换为省市区名字,代码如下:

 //省名
$grid->column('province', __('Province'))
            ->display(function($code) {
                $name = DB::table('china_area')->where('code', $code)->value('name');
            return $name;

            });
 //市名            
$grid->column('city', __('City'))
    ->display(function($code) {
        $name = DB::table('china_area')->where('code', $code)->value('name');
        return $name;
    });
//区名    
$grid->column('district', __('District'))
    ->display(function($code) {
        $name = DB::table('china_area')->where('code', $code)->value('name');
        return $name;

    });
Detail 详情展示,代码如下:

  	 $show->field('province', __('Province'))
            ->unescape()->as(function ($code) {
                $name = DB::table('china_area')->where('code', $code)->value('name');
                return $name;
            });

    $show->field('city', __('City'))
        ->unescape()->as(function ($code) {
            $name = DB::table('china_area')->where('code', $code)->value('name');
            return $name;
        });
    
    $show->field('district', __('District'))
        ->unescape()->as(function ($code) {
            $name = DB::table('china_area')->where('code', $code)->value('name');
            return $name;
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值