Verwendung des ThinkPHP6-Suchers

王雪芹
Freigeben: 2020-06-30 13:46:46
Original
3683 Leute haben es durchsucht

Wenn wir eine Suche mit mehreren Bedingungen durchführen, können wir die traditionelle Array-Methode verwenden. Heute stelle ich Ihnen eine weitere vor, nämlich den ThinkPHP6-Sucher.

1. Verstehen Sie die Definition des Suchers

Schauen wir uns zunächst die Beschreibung des Suchers im Handbuch an.

Die Funktion des Suchers besteht darin, den Abfragebedingungsausdruck des Felds (oder Suchbezeichners) zu kapseln. Ein Sucher entspricht einer speziellen Methode (die Methode muss vom öffentlichen Typ sein). Die Konvention lautet: :

search FieldName Attr

FieldName ist die Camel-Case-Konvertierung des Datentabellenfelds, und der Sucher wird nur ausgelöst, wenn die withSearch-Methode aufgerufen wird.

2. Suchbedingungen festlegen

Wie verwende ich den Sucher? Lassen Sie es uns anhand von Beispielen erklären.

Verwendung des ThinkPHP6-Suchers

Wir haben drei Suchbedingungen: Warenkategorie-ID (Kategoriefilterung), Warenstatus (Statusfilterung), Warenname (Schlüsselwortfilterung).

Wir erstellen zunächst drei Suchmethoden:

public function searchGoodsCateIdAttr($query, $value)
    {
        $query->where('goods_cate_id','in', $value);
    }

    public function searchGoodsStatusAttr($query, $value)
    {
        $query->where('goods_status','=', $value);
    }

    public function searchGoodsNameAttr($query, $value)
    {
        $query->where('goods_name','like', '%'.$value.'%');
    }
Nach dem Login kopieren

Achten Sie besonders auf die Benennung der Suchmethoden, wir müssen uns strikt an die Definitionen im offiziellen Handbuch halten. Wenn das Suchfeld unserer Datentabelle beispielsweise „goods_cate_id“ lautet, ist bei der Definition der Methode Folgendes falsch:

1 öffentliche Funktion searchGoodsCateId($query, $value), weniger Attr.

2. Öffentliche Funktion searchGoodsCateIDAttr($query, $value), der Kamelfall ist falsch geschrieben.

3. Öffentliche Funktion searchGoodsCateAttr($query, $value), die ID wird falsch in Groß-/Kleinschreibung geschrieben.

4. Die private Funktion searchGoodsCateIdAttr($query, $value) muss öffentlich sein.

3. Suche auslösen

Sucher Nur ​​ wird ausgelöst, wenn die withSearch-Methode aufgerufen wird.

$goodsData=Goods::name('goods')->withSearch(['goods_cate_id','goods_status','goods_name'],[
                'goods_cate_id'=>$cateChilerenId,
                'goods_status'=>$goods_status,
                'goods_name'=>$goods_name
            ])->paginate(10);
Nach dem Login kopieren

Zusätzlich zur Suche kann der Sucher auch Sortierfunktionen ausführen, daher werde ich hier kein Beispiel geben.

Während des Debuggens können wir die SQL-Anweisung auch drucken. Wenn wir kein gewünschtes Ergebnis haben, können wir die SQL-Anweisung direkt analysieren.

echo Goods::getLastSql();
Nach dem Login kopieren

Das Obige ist die Erklärung zur Verwendung der ThinkPHP6-Suchmaschine. Bei der Suche mit mehreren Bedingungen können Sie eine beliebige Option verwenden oder entsprechend Ihrer eigenen Situation auswählen.

Das obige ist der detaillierte Inhalt vonVerwendung des ThinkPHP6-Suchers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!