• 技术文章 >php框架 >Laravel

    如何解决laravel-admin select联动问题

    藏色散人藏色散人2021-07-23 10:43:33转载117

    在laravel-admin项目中需要完成一个需求:

    选择一个select选项后,需要同时联动赋值给select2,select3选项

    laravel-admin select联动问题

    有了解到laravel-admin本身带有 ->loads() 方法,所以尝试使用了,如下:

    $form->select('goods', __('商品名称'))->options(function(){
                $list = [];
                $goods = Good::where('state',1)->get();
                foreach ($goods as $k => $v) {
                    $list[$v['id']] = $v['name'];
                }
                return $list;
            })->loads(['supplier_goods','purchaser_good'],['/api/getsuppliergoods','/api/getpurchasergoods']);
    $form->multipleSelect('supplier_goods', __('供应商商品'));
    $form->multipleSelect('purchaser_good', __('采购商商品'));

    实际运行后,发现 supplier_goods 可以正常选择,但是 purchaser_good 选项框可以正常显示内容,但是无法选中内容,也没有发现报错。【推荐:laravel教程

    将 multipleSelect 改为 select :$form->select('purchaser_good', __('采购商商品')); 再次运行,发现还是无法选择,并且在点击时会报如下错误:
    laravel-admin select联动问题

    经过一番查看,终于发现问题,原来是 '/api/getpurchasergoods' 对应的控制器里方法写的有问题。

    官方的统一写法是 ->get(['id', DB::raw('purchaser_id as text')])->toarray();

    但是这里由于我最初是想直接获取采购商id的,所以就改成:->get(['purchaser_id', DB::raw('purchaser_id as text')])->toarray();

    因此可能导致了导致框架找不到对应的id,所以无法进一步选择操作。

    相关推荐:最新的五个Laravel视频教程

    以上就是如何解决laravel-admin select联动问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除
    专题推荐:laravel
    上一篇:深入讲解laravel6中的队列与任务调度 下一篇:详解Laravel模型事件的两种方式
    第16期线上培训班

    相关文章推荐

    • Laravel如何使用Observer实现日志管理模块• 非常有用的Laravel optional辅助函数!• 详解laravel如何安装jenssegers/laravel-mongodb扩展• 深入讲解laravel6中的队列与任务调度

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网