目录


1、Controller编写

其中load('resource_group_id', '/admin/api/getResourceGroup');的意思是,在当前select的选项切换之后,会把当前选项的值通过参数q, 调用接口/admin/api/getResourceGroup,并把api返回的数据填充为resource_group_id选择的选项

    protected function form()
    {
        $resource = new Resource();
        $form = new Form($resource);

        $form->select('merchant_id', __('所属商户'))->options(Merchant::pluck('name', 'id'))->load('resource_group_id', '/admin/api/getResourceGroup');
        $form->select('resource_group_id', __('所属资源组'))->options(ResourceGroup::getSelectOptions());

        return $form;
    }

    /**
     * 根据商户ID获取对应资源组
     */
    public function getResourceGroup(Request $request)
    {
        $merchantId = $request->get('q');
        return ResourceGroup::where('merchant_id', $merchantId)->get(['id', DB::raw('name as text')]);
    }
}

2、ResourceGroup Models里添加获取下拉列表方法

    /**
     * 获取下拉列表名称
     *
     * @return array
     */
    public static function getSelectOptions()
    {
        $options = ResourceGroup::select('id', 'name as text')->get();
        $selectOption = [];

        foreach ($options as $option) {
            $selectOption[$option->id] = $option->text;
        }
        return $selectOption;
    }

3、在app/Admin/routes.php添加接口路由

$router->any('api/getResourceGroup', 'ResourceController@getResourceGroup');
©本文为原创文章,著作权归博主所有,转载请联系博主获得授权

发表评论