如何解決laravel-admin select聯動問題

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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',?__('采購商商品'));

實際運行后,發(fā)現 supplier_goods 可以正常選擇,但是 purchaser_good 選項框可以正常顯示內容,但是無法選中內容,也沒有發(fā)現報錯。【推薦:laravel教程

將 multipleSelect 改為 select :$form->select(‘purchaser_good’, __(‘采購商商品’)); 再次運行,發(fā)現還是無法選擇,并且在點擊時會報如下錯誤:
如何解決laravel-admin select聯動問題

經過一番查看,終于發(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
喜歡就支持一下吧
點贊9 分享