2016-06-16 10 views
0

MYSQLI hat die Option, den Rultulttyp der aus dem DB abgerufenen Abfragen anzugeben.Formatierung Ergebnis Typ des Abfrageergebnisses in CodeIgniter

mysqli_fetch_array (Ergebnis, Ergebnistyp);

Ich wollte wissen, ob es eine ähnliche Option bei der Verwendung von CodeIgniter-Framework gibt. Es scheint ein ASSOC-Array standardmäßig zurück zu geben, während ich ein Array vom Typ MYSQLI_NUM benötigte.

Vielen Dank im Voraus

Antwort

0

Die Antwort ist Nein, CI verfügt nicht über eine Option, um einen MYSQLI_NUM Typen Array zurückzukehren.

Es ist nicht sehr schwierig, CI-Datenbank-Returns neu zu strukturieren, um die gewünschte Struktur zu erhalten.

Angenommen, Sie möchten oft MYSQLI_NUM array Ergebnisse erhalten, erstellen Sie eine Funktion in Ihrem Modell result_num_array() Es wird die Ausgabe einer CI-Datenbank-Funktion restrukturieren, die eine CI_DB_result zurückgibt. Diese Funktionen sind db->query(), db->get() und db->get_where(). Die Rückgabe von jedem von diesen kann das Argument sein, das an die result_num_array() übergeben wird, die auf diese Weise definiert wird.

public function result_num_array($query) 
{ 
    $data = $query->result_array(); 
    $result = []; 
    foreach($data as $record) 
    { 
    $row = []; 
    foreach($record as $field) 
    { 
     $row[] = $field; 
    } 
    $result[] = $row; 
    } 
    return $result; 
} 

Ein Anwendungsbeispiel: In der fiktiven Modellfunktion get_some() Verwendung result_num_array() wie so

public function get_some() 
{ 
    $query = $this->db->query("Select * from sometable"); 
    return $this->result_num_array($query); 
} 
+0

Vielen Dank, macht es sehr viel Sinn –

Verwandte Themen