2017-05-18 1 views
0

Ich versuche, eine Spalte aus der Datenbank ziehen, einfach genug, oder? Ich verwende den aktiven Code des Codeigniters.db Abfrage im Codeigniter active record returing Objekt

My Model Funktion

public function getcolumn($field, $table, $kfield, $key) 
    { 
     $this->db->select($field); 
     $this->db->from($table); 
     $this->db->where($kfield, $key); 

     $query = $this->db->get(); 
     $results = $query->result(); 

     return $results; 
    } 

Mein Controller verfügt über:

public function users() 
    { 
    $body['handle'] = $this->admin->getcolumn('handle', 'users', 'userid', $userid) 

    $this->load->view('template/header'); 
    $this->load->view('admin/users', $body); 
    $this->load->view('template/footer'); 
    } 

jetzt, wenn ich print_r diese Variable in meiner Ansicht I „Array ([0] => stdClass Object ([handle] erhalten => Zanigade)) "

Da ich versuche, diese Funktion als eine globale" grab and go "-Funktion zu verwenden, ohne eine Tonne von Funktionen zu schreiben, warum wird es nicht einfach den Namen zurückgeben? Was mache ich falsch? Ich habe 3 Stunden mit der Ausgabe gespielt und ich weiß, dass das eine blöde, einfache Lösung ist und ich verpasse einfach das Zeichen.

Jede Hilfe wird geschätzt.

+0

ok so erkannte ich, dass meine Modellfunktion zu ändern zurückzukehren $ Ergebnisse [0]; erlaubt mir, meine Auswahl mit $ handle-> handle zu ziehen ..... gibt es eine Möglichkeit, es so zu machen, dass $ handle nur die Antwort ist, ohne -> columnName? Ich habe das Gefühl, dass es einen Weg gibt, obwohl ich mich irren kann – bdon

+0

für Array können Sie result_array im Modell anstelle des Ergebnisses verwenden –

Antwort

2

es alle zusammen die „Verkettung“ Fähigkeit verwenden wie so

$results = this->db->get()->row()->$field; 

Wir bekommen() eine Zeile(), die (sollte) ein Feld mit dem Namen $ Feld enthalten.

+0

DANKE YOUUUUU! Das hat es perfekt repariert! YaY für nicht 100 Funktionen zu schreiben, um die benötigten Daten lmao ... das war so einfach, und ich schwöre, ich habe alles versucht außer diesem smh ... – bdon

0

Es scheint, dass Sie das Ergebnis statt der einreihigen zurückkehren, versuchen Sie diese

public function getcolumn($field, $table, $kfield, $key) 
{ 
    $this->db->select($field); 
    $this->db->from($table); 
    $this->db->where($kfield, $key); 

    $query = $this->db->get(); 

    return $query->row()->$field; 
} 

Weitere Informationen Überprüfen Sie die codeigniter Bedienungsanleitung https://www.codeigniter.com/userguide3/database/examples.html

+0

Hallo, ich habe Code bearbeitet, versuchen Sie das, eigentlich gab es einen kleinen Fehler in mein Code, bitte versuchen Sie es –

Verwandte Themen