在laravel-admin項目中需要完成一個需求:
選擇一個select選項后,需要同時聯動賦值給select2,select3選項
有了解到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',?__('采購商商品'));
實際運行后,發(fā)現 supplier_goods 可以正常選擇,但是 purchaser_good 選項框可以正常顯示內容,但是無法選中內容,也沒有發(fā)現報錯。【推薦:laravel教程】
將 multipleSelect 改為 select :$form->select(‘purchaser_good’, __(‘采購商商品’)); 再次運行,發(fā)現還是無法選擇,并且在點擊時會報如下錯誤:
經過一番查看,終于發(fā)現問題,原來是 ‘/api/getpurchasergoods’ 對應的控制器里方法寫的有問題。
官方的統(tǒng)一寫法是 ->get([‘id’, DB::raw(‘purchaser_id as text’)])->toarray();
但是這里由于我最初是想直接獲取采購商id的,所以就改成:->get([‘purchaser_id’, DB::raw(‘purchaser_id as text’)])->toarray();
因此可能導致了導致框架找不到對應的id,所以無法進一步選擇操作。
相關推薦:laravel教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦