官方文档的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;
}
}
);