Heim  >  Artikel  >  PHP-Framework  >  So lösen Sie das Laravel-Admin-Select-Verknüpfungsproblem

So lösen Sie das Laravel-Admin-Select-Verknüpfungsproblem

藏色散人
藏色散人nach vorne
2021-07-21 15:01:013076Durchsuche

Es gibt eine Anforderung, die im Laravel-Admin-Projekt erfüllt werden muss:

Nach der Auswahl einer Auswahloption muss diese gleichzeitig den Optionen select2 und select3 zugewiesen werden选择一个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();

laravel-admin select linkage problem

Ich habe erfahren, dass laravel-admin selbst ein Problem hat ->loads()-Methode, daher habe ich versucht, sie wie folgt zu verwenden:
rrreeeNach dem eigentlichen Vorgang habe ich festgestellt, dass „supplier_goods“ normal ausgewählt werden kann, das Optionsfeld „buyer_good“ jedoch den Inhalt anzeigen kann normal, aber der Inhalt kann nicht ausgewählt werden und es wurde kein Fehler gemeldet. [Empfohlen: Laravel-Tutorial]
🎜Mehrfach ändernAuswählen, um Folgendes auszuwählen: $form->select('purchaser_good', __('Purchaser Goods')); Führen Sie es erneut aus und stellen Sie fest, dass Sie immer noch nicht auswählen können. Beim Klicken wird folgender Fehler gemeldet:
🎜🎜Nach einiger Inspektion habe ich endlich Wenn ich das Problem gefunden habe, stellt sich heraus, dass ein Problem mit der Methode im entsprechenden Controller von '/api/getpurchasergoods' vorliegt. 🎜🎜Die offizielle einheitliche Schreibmethode ist ->get(['id', DB::raw('purchaser_id as text')])->toarray();🎜🎜Aber wegen Ich wollte ursprünglich die Käufer-ID direkt erhalten, also habe ich sie geändert in: ->get(['purchaser_id', DB::raw('purchaser_id as text')])->toarray() ; code>🎜🎜Dies kann dazu führen, dass das Framework die entsprechende ID nicht finden kann, sodass keine weiteren Auswahlvorgänge durchgeführt werden können. 🎜🎜Verwandte Empfehlungen: 🎜Die neuesten fünf Laravel-Video-Tutorials🎜🎜

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Laravel-Admin-Select-Verknüpfungsproblem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen