Yii20 Chinese Development Guide – Vollständige Analyse der Where-bedingten Abfrage

WBOY
Freigeben: 2016-08-08 09:18:57
Original
1277 Leute haben es durchsucht

Where ist bei Abfragen im Yii-Modell von entscheidender Bedeutung.
Wobei die Methode als

  1. statisch where( $condition )


wo der Parameter deklariert ist $condition Der Typ ist String oder Array
1. String
String ist am einfachsten. Schreiben Sie ihn einfach direkt entsprechend der Where-Bedingung in SQL, z. B.

  1. $condition = 'name='zhidemy.com' and age>10';

2. Array
Wenn es sich um ein Array handelt, gibt es zwei Formate Verfahren.

  • Wörterbucharray im Name-Wert-Format: ['Spalte1' => Wert1, 'Spalte2' => Wert2, ...]
  • Logisches Operatorformat: [ Operator, Operand1 , operand2, ...]

Die erste Schreibweise:
Wenn der Wert eine Zeichenfolge oder Zahl usw. ist, ist das Format der generierten bedingten Anweisung Spalte1= Wert1 UND Spalte2=Wert2 UND ....

['type' => 1, 'status' => Generieren Sie

(Typ = 1) UND (Status = 2)

Wenn der Wert ein Array ist, dann ist

INAnweisung;

['id' => [1, 2, 3], 'status' => 2]

//Generieren

(id IN (1, 2, 3)) AND (status = 2)

Wenn der Wert Null ist, dann wird die Anweisung Ist Null verwendet generiert werden.

['status' => null]

//Generieren

Status ist NULL

Die zweite Schreibweise generiert unterschiedliche SQL-Bedingungen basierend auf unterschiedlichen Operatoren.


    und:
      verwendet AND, um alle Operanden zu verbinden. wie
    • ['and', 'id=1', 'id=2']

      // Generiere

      id=1 AND id=2

      Wenn ein Operand auch ein Array ist, wird er in einen String im folgenden Format konvertiert, z

      ['and', 'type=1', ['or', 'id=1', 'id=2']]

      //Generieren

      type=1 AND (id=1 OR id=2)

      Hinweis: Diese Methode referenziert oder kodiert nicht.

      oder:
    • ähnelt
    • und, außer dass ODER zum Verbinden der Operanden verwendet wird. zwischen:
    • Der erste Operand ist der Name der Spalte, und der zweite und dritte Operand sind die Minimal- und Maximalwerte des Bereichs. wie
    • ['between', 'id', 1, 10]

      //Generiere

      id ZWISCHEN 1 UND 10

      nicht zwischen:
    • ähnelt
    • zwischen. in:
    • Der erste Operand ist eine Spalte oder ein DB-Ausdruck, und der zweite Operand ist ein Array, z
    • ['in', 'id', [1, 2, 3]]

      //

      id IN (1, 2, 3) generieren

      Hinweis: Diese Methode verweist auf die Spalte und codiert auch die Werte im Array.

      nicht in:
    • ähnelt
    • in oben. wie:
    • Der erste Operand ist eine Spalte oder ein DB-Ausdruck, und der zweite Operand ist eine Zeichenfolge oder ein Array, z
    • ['like', 'name', 'tester']

      //Generiere

      Name LIKE '%tester%'

      Wenn der Wert ein Array ist, werden mehrere ähnliche Anweisungen generiert und mit

      AND verbunden. wie ['like', 'name', ['test', 'sample']]

      //Generiere

      Name LIKE '%test%' AND name LIKE '%sample%'

      Hinweis: Diese Methode referenziert die Spalte und codiert auch die Werte im Array.

      Manchmal müssen Sie % möglicherweise selbst verwalten. Dann können Sie den dritten Parameter verwenden:
      ['like', 'name', '%tester', false]

      //Generiere

      Name LIKE '%tester'

      or like:
    • ähnelt
    • like, mit der Ausnahme, dass, wenn der zweite Parameter ein Array ist, or Concatatenate verwendet wird mehrere ähnliche Aussagen. nicht wie:
    • ähnelt
    • wie. oder nicht ähnlich:
    • ist ähnlich zu
    • oder ähnlich.
    • Das Obige stellt den Yii20-Entwicklungsleitfaden für Chinesisch vor – eine vollständige Analyse der Where-Bedingungsabfrage, einschließlich Aspekten des Inhalts. Ich hoffe, dass er Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird.

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