Sql codeigniter数据表联接查询不工作

Sql codeigniter数据表联接查询不工作,sql,codeigniter,datatables,Sql,Codeigniter,Datatables,//我正在CI中使用数据库,但运行不正常。请查看连接查询并建议如何持续连接条件 private function _get_datatables_query($term='') { $user_id = $this->session->userdata("user_id"); $user_type = $this->session->userdata("user_type"); $column = array('A.type'

//我正在CI中使用数据库,但运行不正常。请查看连接查询并建议如何持续连接条件

 private function _get_datatables_query($term='')
 {
  $user_id = $this->session->userdata("user_id");
  $user_type = $this->session->userdata("user_type");  
     $column =           array('A.type','C.school_name','A.mobile','A.email','A.birthdate','A.anniversary','A.gender','A.firstname','A.lastname');
      $this->db->select('A.type,C.school_name,A.mobile,A.email,A.birthdate,A.anniversary,A.gender,A.firstname,A.lastname,C.s2m_admin_id,A.status,A.id,A.pusername');
      $this->db->from('users as A');
      $this->db->join('school_user as B', 'B.user_id = A.id');
      $this->db->join('school as C', 'C.id = B.school_id');
      $this->db->join('school as D', 'D.s2m_admin_id = A.id');//<= i am having problem in this line else is working properly .if i add this line query return nothing.
      $this->db->having('A.status','active'); 

      $this->db->like('A.type', $term);
       $this->db->or_like('A.mobile', $term);
      $this->db->or_like('A.firstname', $term);
private函数\u get\u datatables\u查询($term='')
{
$user\u id=$this->session->userdata(“user\u id”);
$user\u type=$this->session->userdata(“user\u type”);
$column=array('A.type','C.school\u name','A.mobile','A.email','A.birthdate','A.周年纪念','A.gender','A.firstname','A.lastname');
$this->db->select('A.type,C.school\u name,A.mobile,A.email,A.birthdate,A.周年纪念日,A.gender,A.firstname,A.lastname,C.s2m\u admin\u id,A.status,A.id,A.pusername');
$this->db->from('users as A');
$this->db->join('school\u user as B','B.user\u id=A.id');
$this->db->join('school as C','C.id=B.school_id');
$this->db->join('school as D','D.s2m_admin_id=A.id');//db->having('A.status','active');
$this->db->like('A.type',$term);
$this->db->或类似('A.mobile',$term);
$this->db->或类似('A.firstname',$term);
试试这个

$user_id = $this->session->userdata("user_id");
$user_type = $this->session->userdata("user_type");  
//$column =  array('U.type','S.school_name','U.mobile','U.email','U.birthdate','U.anniversary','U.gender','U.firstname','U.lastname');
$this->db->select(*);
$this->db->from('users as U');
$this->db->join('school_user as SU', 'SU.user_id = U.id');

# added where clause
$this->db->where('school.id = SU.school_id OR school.s2m_admin_id = U.id');

$this->db->having('U.status','active'); 

$this->db->like('U.type', $term);
$this->db->or_like('U.mobile', $term);
$this->db->or_like('U.firstname', $term);

我不知道你到底想做什么,但试一下$this->db->join('school as D','D.s2m_admin_id=A.id','left');