首页 > 解决方案 > Codeigniter get_where() 函数某些条件不起作用

问题描述

在 get_all_staff() 中,我想根据我定义的条件获取公司的员工名单,但例如 'role !='=>'Management Office' 不起作用,如果我改变它在代码,它可以工作,但其他条件不起作用,我想说的是所有语法都是正确的,但所有条件都不能同时工作。

public function get_all_staff($company_name)
{
    //  $query = $this->db->get_where('user_login', array('company_name' => $company_name,'role !='=>'Manager','delete_flag'=>0,'role !='=>'Management Office' , 'role !='=>'Admin'));

    $query = $this->db->get_where('user_login', array('company_name' => $company_name,'role !='=>'Management Office','role !='=>'Manager','delete_flag'=>0 ,'role!='=>'Admin'));
    return $query->result();
}

标签: codeigniter

解决方案


试试这样。

public function get_all_staff($company_name)
{
    $this->db->where('company_name', $company_name);
    $this->db->where('role !=', 'Management Office');
    $this->db->where('role !=', 'Manage');
    $this->db->where('role !=', 'Admin');
    $this->db->where('delete_flag', '0');
    
    return $this->db->get('user_login')->result_array();
    //if there is only one row then do it
    // return $this->db->get('user_login')->row_array();
}

推荐阅读