Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie gruppiere ich WHERE-Klauseln in CodeIgniter für komplexe Bedingungen?

Patricia Arquette
Freigeben: 2024-11-11 03:25:02
Original
849 Leute haben es durchsucht

How do I group  WHERE clauses in CodeIgniter for complex conditions?

Gruppieren von WHERE-Klauseln in Codeigniter

Um mehrere WHERE-Klauseln in einer komplexen Bedingung zu gruppieren, können Sie group_start() und group_end() verwenden. Methoden in Codeigniter. Mit diesen Methoden können Sie verschachtelte WHERE-Bedingungen erstellen.

Codeigniter 3:

$this->db->select()
->from('users')
->where('name !=', 'Joe')
->group_start() // Open bracket
->where('age <', 69)
->or_where('id <', $id)
->group_end(); // Close bracket
Nach dem Login kopieren

Codeigniter 4:

$builder->select('*')
->from('users')
->where('name !=', 'Joe')
->groupStart()
->where('age <', 69)
->orWhere('id <', $id)
->groupEnd();
Nach dem Login kopieren

Dieser überarbeitete Code verwendet group_start() und group_end(), um die Alters- und ID-Bedingungen in Klammern zu setzen. Dadurch wird sichergestellt, dass zuerst die UND-Bedingung (Alter < 69) ausgewertet wird, gefolgt von der ODER-Bedingung (id < $id).

Umgang mit dynamischen Abfragen:

Ihre ursprüngliche Abfrage wurde dynamisch basierend auf Benutzerparametern generiert. Um die Gruppierungsmethoden in solchen Szenarien zu verwenden, können Sie die gewünschten WHERE-Bedingungen in eine Schleife einschließen und group_start() und group_end() entsprechend verwenden.

if ($price_range) {
  $price_array = explode('.', $price_range);
  $this->db->where('name !=', 'Joe');

  for ($i = 0; $i < count($price_array); $i++) {
    if ($i === 0) {
      $this->db->group_start();
      $this->db->where('places.price_range', $price_array[$i]);
    } else {
      $this->db->or_where('places.price_range', $price_array[$i]);
    }
  }
  $this->db->group_end();
}

Dieser geänderte Code verwendet group_start() und group_end() um die Preisspannenbedingungen zu gruppieren, um eine ordnungsgemäße Bedienerpriorität sicherzustellen und Bewertungsprobleme zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich WHERE-Klauseln in CodeIgniter für komplexe Bedingungen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage