Suche…


Daten auswählen

Mit den folgenden Funktionen können Sie SQL SELECT-Anweisungen erstellen.

$this->db->get()

Dadurch wird die Auswahlabfrage ausgeführt und das Ergebnis zurückgegeben. Kann allein verwendet werden, um alle Datensätze aus einer Tabelle abzurufen:

$query = $this->db->get('tablename');  // Produces: SELECT * FROM tablename

Mit dem zweiten und dritten Parameter können Sie eine Limit- und Offset-Klausel festlegen:

$query = $this->db->get('tablename', 10, 20);

// Executes: SELECT * FROM tablename LIMIT 20, 10
// (in MySQL. Other databases have slightly different syntax)

Daten auswählen

Daten mit Bedingung auswählen

$query  = $this->db->select('*')
                   ->from('table_name')
                   ->where('column_name', $value) // Condition 
                   ->get();
return $query->result();

Daten mit mehreren Bedingungen auswählen

$conditions = array('column_name_1' => $value_1, 'column_name_2' => $value_2);
$query  = $this->db->select('*')
                   ->from('table_name')
                   ->where($conditions) // Conditions
                   ->get();
return $query->result();

Daten mit Bedingung und Limit auswählen

$query  = $this->db->select('*')
                   ->from('table_name')
                   ->where('column_name', $value) // Condition
                   ->limit(10) // Maximum 10 rows
                   ->get();
return $query->result();

Wählen Sie Daten mit Bedingung, maximalen Zeilen und Reihenfolge absteigend aus

$query  = $this->db->select('*')
                   ->from('table_name')
                   ->where('column_name', $value) // Condition
                   ->limit(10) // Maximum 10 rows 
                   ->order_by('id','DESC') // Order data descending 
                   ->get();
return $query->result();

Daten mit dem zweiten optionalen Parameter auswählen

Normalerweise verwenden wir keinen zweiten Parameter in select([$select = '*'[, $escape = NULL]]) in CodeIgniter. Wenn Sie den Wert auf FALSE setzen, versucht CodeIgniter nicht, die Feld- oder Tabellennamen zu schützen.

Im folgenden Beispiel wählen wir das Feld datetime type aus, indem es mit sql query formatiert und auf FALSE (indem wir dies tun, weisen wir CI an, die Abfrage nicht automatisch zu maskieren.

public function getUserInfo($id)
{
    $this->db->select('BaseTbl.id, BaseTbl.name, DATE_FORMAT(BaseTbl.createdDtm, "%d-%m-%Y") AS createdDtm', FALSE); // FALSE is the second optional parameter
    $this->db->from('tbl_users as BaseTbl');
    $this->db->where('isDeleted', 0);
    $this->db->where('BaseTbl.id', $id);
    $query = $this->db->get();
            
    return $query->result();
}

Wenn wir es nicht auf FALSE , wird die Abfrage automatisch abgebrochen und abgebrochen.

Tabellen mit dem Query Builder verknüpfen

Manchmal müssen wir mehrere Tabellen verknüpfen, um im Gegenzug gesammelte Daten zu erhalten. So können wir dasselbe mit CodeIgniter Query Builder / Active Records erreichen.

public function getStudentInfo($studentid){
    $query = $this->db->select("st.id, st.name, st.class, mk.maths, mk.science")
               ->from("students as st")
               ->join("marks as mk", "mk.student_id = st.id", "inner")
               ->where("st.id", $studentId)
               ->get();
    return $query->result();        
}

Hier verwenden wir join (), um mehrere Tabellen zu verknüpfen, und wir können den Join-Typ im dritten Parameter ändern, z. B. "inner", "links", "rechts" usw.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow