2011-01-15 7 views
2

Ich verwende einen einfachen Join, um Daten aus zwei Datenbanken zu ziehen. Dies wird kommt die in dem Modell:Anzeigen von Daten aus einem Join in Codeigniter

function com_control(){ 
    $this->db->select('*'); 
    $this->db->from('comments'); 
    $this->db->join('posts', 'comments.entry_id = posts.id'); 
    $query = $this->db->get(); 
    return $query->result; 
} 

Meine gewünschte Art der Anzeige in einer Tabelle sein wird, so fange ich so zu verwenden, aus:

foreach($comm_control as $row){ 

    $this->table->add_row(
    $row->entry_id, 
    $row->comments.id, 
    $row->comment, 
    $row->title    
    );  
}//end of foreach 

Mein Problem ist das Display von Daten aus comments.id. Was ist das richtige Format zum Hinzufügen der comment.id in die Tabellenzeilen? Ich brauche die ID aus beiden Tabellen für die Anzeige, Bearbeitung und Löschung weiter in der Tabelle. Die einzige Anzeige, die ich zu dieser Zeit für "comment.id" bekomme, ist das Wort id.

Jede Hilfe wäre willkommen.

+1

Meinst du, dass Sie die Spaltenüberschrift anders als 'ID' anzeigen möchten? –

Antwort

5

Okay, denke ich, was Sie tun müssen, um einen Alias ​​für das ID-Feld in der Kommentare-Tabelle ist:

function com_control() { 
    $this->db->select('entry_id, comments.id AS comment_id, comment, title'); 
    $this->db->from('comments'); 
    $this->db->join('posts', 'comments.entry_id = posts.id'); 
    $query = $this->db->get(); 

    return $query->result; 
} 

Dann können Sie die comments.id Feld Referenz als einfach $ row-> comment_id:

Eigentlich, wenn die Spalte "ID" ist einzigartig für die Kommentare Tabelle, dann könnten Sie einfach $ row-> ID; Das Problem tritt auf, wenn Sie Tabellen beitreten, die beide eine gleichnamige Spalte haben. Es wird mehrdeutig und der Computer weiß nicht, worauf Sie verweisen.

+0

Ah das Problem ist nicht die Überschriften, das Problem ist, wenn ich die Daten retreive, geben die Daten in der Spalte "$ row-> comments.id" nur das Wort "ID" aus. Ich frage im Grunde, ob $ row-> comments.id in dieser Situation richtig ist. Ich denke, ich definiere die Daten, die ich genauer im Datenbankanruf wünschen – Brad

+0

Ich löste mein Problem, indem ich die doppelten Felder der Datenbank umbenenne. Danke Jungs – Brad

+1

Super! Und ich habe gerade meine Antwort geändert, die das ohne die db-Änderung gelöst hätte lol –

Verwandte Themen