mat*_*ewb 5 mysql activerecord codeigniter
我有一个带有2列ID的DB,它引用了同一个表
如何对同一个表进行2次连接,并能够提取数据.
这是我有的:
$this->db->select('s.id, c.title, c.description, s.time ,s.day,s.instructor_change,s.studio_change,s.time_change,s.new_class,s.reservation_req,s.easy_does_it,s.mind,s.level,s.duration,s.location,i.first,i.last');
$this->db->from('schedule as s');
$this->db->join('instructors as i', 'i.id = s.instructor_id','inner');
$this->db->join('classes as c', 'c.id = s.class_id');
$this->db->where('s.active', '1');
$this->db->where('s.day', $dayofweek);
$this->db->order_by('s.time',"ASC");
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
我还要拉这样的东西$ this-> db-> join('instructors as i','i.id = s._alt_instructor_id ');
我如何两次加入同一个表,但是能够在这种情况下再次为同一记录中的另一个ID提取名字和姓氏?
回答
$this->db->select('s.id, c.title, c.description, s.time ,s.day,s.instructor_change,s.studio_change,s.time_change,s.new_class,s.reservation_req,s.easy_does_it,s.mind,s.level,s.duration,s.location,i.first,i.last,a.first as alt_first,a.last as alt_last');
$this->db->from('schedule as s');
$this->db->join('instructors as i', 'i.id = s.instructor_id','left');
$this->db->join('instructors as a', 'a.id = s.alt_instructor_id','left');
$this->db->join('classes as c', 'c.id = s.class_id');
$this->db->where('s.active', '1');
$this->db->where('s.day', $dayofweek);
$this->db->order_by('s.time',"ASC");
$query = $this->db->get();
Run Code Online (Sandbox Code Playgroud)
只是别名不同:
$this->db->join('instructors as ialt', 'ialt.id = s._alt_instructor_id');
Run Code Online (Sandbox Code Playgroud)