2012-06-19 2 views
0
<?php 

$this->db->select('*'); 
$this->db->from('venue'); 
$this->db->join('venue_type vt1', 'vt1.venue_type_id = venue.venue_type_id1'); 
$this->db->join('venue_subtype vst1', 'vst1.venue_subtype_id = venue.venue_subtype_id1'); 
$this->db->join('venue_type vt2', 'vt2.venue_type_id = venue.venue_type_id2'); 
$this->db->join('venue_subtype vst2', 'vst2.venue_subtype_id = venue.venue_subtype_id2'); 
$this->db->join('venue_type vt3', 'vt3.venue_type_id = venue.venue_type_id3'); 
$this->db->join('venue_subtype vst3', 'vst3.venue_subtype_id = venue.venue_subtype_id3'); 
$this->db->where('venue_id',$id); 
$query = $this->db->get(); 

У меня есть таблица мест, в которой есть более 1 поля связи b/w. Когда я пытаюсь дать первое отношениеcodeigniter join not working

<?php 
$this->db->join('venue_type vt1', 'vt1.venue_type_id = venue.venue_type_id1'); 
$this->db->join('venue_subtype vst1', 'vst1.venue_subtype_id = venue.venue_subtype_id1'); 

Пожалуйста, помогите мне. (Это может быть просто, но я застрял)

Saravanan.

+0

У вас возникли ошибки? В PHP или CI? Включите функцию error_reporting() и просмотрите журнал. Также попробуйте echo $ this-> db-> last_query(); поэтому см., какой запрос создается. – Robert

+0

Посмотрите на свое место, где у него есть ошибка, он должен быть таким $ this-> db-> где ('venue.venue_id', $ id); –

ответ

0

Вам нужно использовать псевдоним для нескольких соединений.

SELECT st_id, table1. us_login, table2. us_login ОТ (stream) LEFT JOIN users AS таблица1 ON table1. us_id = stream. st_id_user_from LEFT JOIN users AS таблица2 ON table2. us_id = stream. st_id_user_to

увидеть ссылку: http://codeigniter.com/forums/viewthread/151176/

0

Там нет $this->db->from функции Codeigniter. Вместо этого использовать $this->db->select('venue.*')