2016-03-21 3 views
0

Вот мой запрос соединения для получения данных из двух таблиц.Присоединиться к запросу codeigniter, где условие возвращает все строки

$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 состояния он возвращает только один ряд, но он возвращает все строки с совпадениями условия соединения.

Кажется, что мое условие здесь не выполняется.

пожалуйста, помогите мне

+0

Ваш вопрос не имеет смысла, но присоединиться к перед вашей ИНЕКЕ. – Kisaragi

+1

swap join и где. – Noman

+1

положите join первым, а затем где –

ответ

0

Что $ исх =, сколько результатов она должна подобрать примерно? Что вы получаете, когда опускаете место? если вы получите полный результат, то должна быть проблема с значением $ ref, или это результат.

Просто заметьте, вам не нужно выбирать (*), это по умолчанию, если это просто для примера, извините, что подобрал. Вы также можете добавить -> from (whaterver_table) в -> get (whatever_table). В любом случае вам нужно добавить -> get(), поэтому почему бы не удалить строку -> from(), а просто выбрать читаемость, но я сделал не понимаете, что вы могли бы это сделать какое-то время, поэтому мысль id добавит его в мой ответ.

Или другой путь решения проблемы заключается в том, должно ли объединение быть «левым» в качестве третьего аргумента. 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

Я пробовал это, но не повезло –

Смежные вопросы