2011-01-15 4 views
2

単純な結合を使用して2つのデータベースからデータを取得しています。これは、モデルに参加されています。ディスプレイの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; 
} 

私の目的のメソッドは、テーブルにあることを行っているので、私はこのように使用することが出始めています:

foreach($comm_control as $row){ 

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

私の問題が表示されますcomments.idからのデータの comment.idをテーブル行に追加するための適切なフォーマットは何ですか?表示、編集、さらに削除するために、両方のテーブルからIDが必要です。今回私が "comment.id"のために表示するのはidという単語だけです。

ご協力いただければ幸いです。

+1

「id」と異なる見出しを表示することを意味しますか? –

答えて

5

さて、私はあなたが何をする必要があるかと思いますコメントテーブルのidフィールドのエイリアスを設定されています。

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; 
} 

その後、あなたは単にます$ row-> comment_idとしてcomments.idフィールドを参照することができます。

実際には、 'id'カラムがコメントテーブルに固有の場合は、$ row-> idを使用できます。両方の列に同じ名前の列があるテーブルを結合するときに問題が発生します。あいまいになり、コンピュータはあなたが参照しているものを知りません。

+0

ああ、問題は見出しではなく、問題は私がデータを検索するとき、 "$ row-> comments.id"のデータは "ID"という単語だけを出力します。だから、基本的に$ row-> comments.idがこの状況で適切かどうか尋ねています。私はデータベースの呼び出しでより具体的に必要なデータを定義すると思います – Brad

+0

私はデータベースの重複フィールドの名前を変更して私の問題を解決しました。ありがとうございました – Brad

+1

恐ろしい!そして、私はちょうどdb変更なしでそれを解決していた私の答えを変更しました。 –

関連する問題