Heim > PHP-Framework > Denken Sie an PHP > thinkphp5.1-Abfrage ist nicht gleich

thinkphp5.1-Abfrage ist nicht gleich

PHPz
Freigeben: 2023-05-29 11:35:07
Original
2478 Leute haben es durchsucht

thinkphp5.1 ist derzeit eines der beliebtesten PHP-Entwicklungsframeworks. Es bietet leistungsstarke Abfragefunktionen und kann zur Durchführung verschiedener komplexer Vorgänge in der Datenbank verwendet werden. Im tatsächlichen Entwicklungsprozess stoßen wir häufig auf Situationen, in denen wir abfragen müssen, ob der Wert nicht einem bestimmten Wert entspricht. In diesem Artikel wird detailliert beschrieben, wie eine Ungleichheitsabfrage in thinkphp5.1 durchgeführt wird.

Wir müssen zunächst den Abfrage-Builder von thinkphp5.1 verstehen, der SQL-Abfrageanweisungen durch Kettenaufrufmethoden erstellt. Beispielsweise können wir den folgenden Code verwenden, um den Datensatz mit der ID 1 in der Tabelle abzufragen:

$user = Db::name('user')->where('id', 1)->find();
Nach dem Login kopieren

Hier bedeutet Db::name('user') die Bedienung der Benutzertabelle, where(' id', 1) bedeutet, den Datensatz mit id=1 abzufragen, und find() bedeutet, einen Datensatz zu finden und zurückzugeben. Dies ist ein einfaches Abfragebeispiel, aber in tatsächlichen Anwendungen müssen wir einige Datensätze abfragen, die nicht einem bestimmten Wert entsprechen.

Zunächst können wir mit der notEq-Methode Datensätze abfragen, die nicht einem bestimmten Wert entsprechen. Das Folgende ist ein Beispiel:

$users = Db::name('user')->where('status', '<>', 1)->select();
Nach dem Login kopieren

Hier fragt die notEq-Methode alle Datensätze ab, deren Status nicht gleich 1 ist. Wenn wir Datensätze mit einer ID ungleich 1 abfragen möchten, können wir den folgenden Code verwenden:

$users = Db::name('user')->where('id', '<>', 1)->select();
Nach dem Login kopieren

In der where-Methode können wir andere Vergleichsoperatoren verwenden, wie zum Beispiel: >, <, >= , <= und so weiter. Wenn wir alle Datensätze abfragen möchten, deren Status ungleich 1 und 2 ist, können wir den folgenden Code verwenden:

$users = Db::name('user')->where('status', 'not in', [1, 2])->select();
Nach dem Login kopieren

Hier bedeutet „nicht in“ einen Wert, der nicht zwischen [1, 2 liegt ]. Wir können auch andere Vergleichsoperatoren verwenden, z. B. in, between, not between usw.

Wenn wir Datensätze mit leerem Status abfragen möchten, können wir den folgenden Code verwenden:

$users = Db::name('user')->where('status', 'NULL')->select();
Nach dem Login kopieren

Beachten Sie, dass „NULL“ hier eine Zeichenfolge ist, die einen NULL-Wert angibt. Ebenso können wir auch Nicht-Null-Werte abfragen, zum Beispiel:

$users = Db::name('user')->where('status', 'NOT NULL')->select();
Nach dem Login kopieren

Zusätzlich zur Where-Methode können wir auch die WhereRaw-Methode verwenden, um Datensätze abzufragen, die nicht einem bestimmten Wert entsprechen. Hier ist ein Beispiel:

$users = Db::name('user')->whereRaw('status <> 1')->select();
Nach dem Login kopieren

Hier ermöglicht uns die Methode whereRaw, das Ungleichheitssymbol (<>) direkt in der SQL-Anweisung zu verwenden.

Schließlich können wir auch Abschlussfunktionen verwenden, um Abfragebedingungen zu erstellen. Das Folgende ist ein Beispiel:

$users = Db::name('user')->where(function($query){
    $query->where('status', '<>', 1)
          ->whereOr('name', '<>', 'admin');
})->select();
Nach dem Login kopieren

Hier sorgt die Methode where in der Abschlussfunktion dafür, dass die Abfrage nicht gleich dem Datensatz mit dem Status 1 ist, und die Methode whereOr fragt nicht gleich dem Datensatz namens admin ab.

Zusammenfassend können wir zum Abfragen von Datensätzen, die nicht einem bestimmten Wert in thinkphp5.1 entsprechen, die notEq-Methode, die where-Methode, die whereRaw-Methode, die Abschlussfunktion und andere Methoden verwenden. Es ist notwendig, die geeignete Methode entsprechend der tatsächlichen Situation auszuwählen. Wenn Sie während der Entwicklung Fragen haben, können Sie sich auf die offizielle Dokumentation von thinkphp5.1 beziehen oder sich an Entwicklungsgemeinschaften rund um thinkphp5.1 beteiligen, um weitere Hilfe und Unterstützung zu erhalten.

Das obige ist der detaillierte Inhalt vonthinkphp5.1-Abfrage ist nicht gleich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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