2016-03-21 8 views
0

2つのテーブルからデータを取得するための結合クエリです。query codeigniterとwhereの条件がすべての行を返します。

$this->db->select('*'); 
$this->db->from('george_hotel_bkd_customers'); 
$this->db->where('george_hotel_bookings.bookingref',$ref); 
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id');  
$query = $this->db->get(); 

は私のwhere条件によると、それだけで1行を返しますが、それは試合で戻ってすべての行が条件に参加します。

ここで私のwhere条件が実行されていないようです。

私は

+0

あなたの質問は意味がありませんが、あなたのwhere句の前に参加していることを示唆として、位置や文で参加を変更

は、任意の違いをすることはないだろう。 – Kisaragi

+1

スワップ・ジョイン。 – Noman

+1

最初にput joinしてから –

答えて

0

は、$ refが=、それは大体どのように多くの結果を何を拾う必要があるん助けてください? どこを省略したらどうなるのですか?完全な結果を得た場合は、$ ref値の問題でなければなりません。つまり、その結果です。

ちょうどメモ、(*)を選択する必要はありませんが、これは例のためだけである場合、これはデフォルトです、ピックアップのために申し訳ありません。とにかく - > from()行を削除しないでください。読みやすさを選択するだけですが、どうしましたか? - > from(whaterver_table)を - > get(whatever_table)あなたはしばらくこのことをすることができるとは思わないので、私の答えにそれを追加することを考えました。

また、別の問題解決パスは、結合を3番目のargとして 'left'にする必要があるかどうかです。 IEはいつも参加していますか? Anantが

0
$this->db->select('*'); 
$this->db->from('george_hotel_bkd_customers'); 
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id'); 
$this->db->where('george_hotel_bookings.bookingref',$ref); 
$query = $this->db->get(); 

常に最後

+0

私はこれを試したが運がない –

関連する問題