There is a requirement that needs to be completed in the laravel-admin project:
After selecting a select option, it needs to be assigned to the select2 and select3 options simultaneously
I learned that laravel-admin itself has the ->loads()
method, so I tried to use it, as follows:
$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', __('采购商商品'));
After actual operation, It was found that supplier_goods can be selected normally, but the purchaser_good option box can display the content normally, but the content cannot be selected, and no error was reported. [Recommended: laravel tutorial]
Change multipleSelect to select: $form->select('purchaser_good', __('Purchaser product '));
Run it again and find that it still cannot be selected, and the following error will be reported when clicking:
After some inspection, I finally found the problem, it turned out to be '/api/getpurchasergoods'
There is a problem with the method written in the corresponding controller.
The official unified writing method is->get(['id', DB::raw('purchaser_id as text')])->toarray();
But since I originally wanted to get the purchaser ID directly, I changed it to: ->get(['purchaser_id', DB::raw('purchaser_id as text')])-> ;toarray();
This may result in the framework not being able to find the corresponding id, so further selection operations cannot be performed.
Related recommendations: The latest five Laravel video tutorials
The above is the detailed content of How to solve laravel-admin select linkage problem. For more information, please follow other related articles on the PHP Chinese website!