laravel-admin 【联动2】 编辑时二级select没有默认选中值 解决办法

官方文档的select联动使用方法如下:

// 一级select
protected function form()
{
    $form = new Form(new Good());

    …………

    $form->select('supid', __('大类名称'))->options( 
    function (){
        …… 
        /*具体实现方法在上一篇laravel-admin联动的文章里有详细说明*/
    })->load('subid','/admin/activityList');
}


// 二级select
$form->select('subid','小类名称');

如上可实现二级联动,但是会出现问题,当编辑时,默认二级select是空的

为了实现二级select默认有值并且当前值是选中状态的,做如下修改

// 设置编辑时 二级select显示默认值
$form->select('subid','小类名称')->options(
    function (){
        // 先通过当前商品信息中的小类id到小类商品表中查询出所有符合条件的小类
        $subcates = Subcate::all()->where('supid',$this->supid);
        // 新增数据时,当前商品信息还不存在,所以需要先做判断
        if($subcates){
            $arr = array();
            //将获取的数据格式化后放入数组
            foreach($subcates as $subcate){
                $arr = $arr + [$subcate->id => $subcate->name];
            }
            return $arr;
        }
    }
);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章