在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', __('采购商商品'));
實際運行後,發現supplier_goods 可以正常選擇,但是purchaser_good 選項框可以正常顯示內容,但無法選取內容,也沒有發現報錯。 【推薦:laravel教學】
將multipleSelect 改為select :$form->select('purchaser_good', __('採購商商品'));
再次運行,發現還是無法選擇,並且在點擊時會報如下錯誤:
經過一番查看,終於發現問題,原來是 '/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中文網其他相關文章!