Php 从引用位于另一个表中的sql表中查询数据

Php 从引用位于另一个表中的sql表中查询数据,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在使用CodeIgniter并尝试从mysql查询数据 场景-登录用户是经理,希望为其团队提取数据 解释- e_用户表 e_详细信息表 现在,当用户_id 1作为管理员登录时,他应该只获取det_id-2,3的数据 e_details表有数据,我只想查询其管理员当前登录的用户的数据。意味着管理员将从e_详细信息表中提取用户数据 e\u详细信息表包含用户id、详细信息注释、详细信息日期 e_用户有用户id、管理者id 我尝试了下面的函数,但无法获得所需的数据 $user_id = $this-

我正在使用CodeIgniter并尝试从mysql查询数据

场景-登录用户是经理,希望为其团队提取数据

解释-

e_用户表

e_详细信息表

现在,当用户_id 1作为管理员登录时,他应该只获取det_id-2,3的数据

e_details表有数据,我只想查询其管理员当前登录的用户的数据。意味着管理员将从e_详细信息表中提取用户数据

e\u详细信息表包含用户id、详细信息注释、详细信息日期

e_用户有用户id、管理者id

我尝试了下面的函数,但无法获得所需的数据

$user_id = $this->session->userdata('user_id')
public function get_method($user_id)
{
    $this->db->join('e_users', 'e_users.manager_id = e_details.user_id','INNER');
    $this->db->where('e_details.user_id',$user_id);
    return $this->db->get('e_details')->result_array();
}
我想我需要连接两个表,然后用公共键值搜索


谢谢,

如果我答对了,您错过了select语句。 这对你有帮助

 <?php 
        public function get_method($user_id){
    $query = $this->db->select('e_users.*, e_details.*')
            ->from('e_users')
            ->join('e_details', 'e_users.user_id = e_details.user_id', 'inner')
            ->where('e_users.manager_id',$user_id)
            ->get();
    if($query -> num_rows() > 0){
        $details_array = $query->result();
        print_r($details_array);die;
        $response['details_array'] = $details_array;
        return $response;
    }else{
        return false;
    }
}
?>

如果我没弄错的话,你错过了select语句。 这对你有帮助

 <?php 
        public function get_method($user_id){
    $query = $this->db->select('e_users.*, e_details.*')
            ->from('e_users')
            ->join('e_details', 'e_users.user_id = e_details.user_id', 'inner')
            ->where('e_users.manager_id',$user_id)
            ->get();
    if($query -> num_rows() > 0){
        $details_array = $query->result();
        print_r($details_array);die;
        $response['details_array'] = $details_array;
        return $response;
    }else{
        return false;
    }
}
?>

@VishalParkash,我收到了管理员登录的用户的数据,但没有收到他们的数据,但得到了管理员自己的数据,这意味着它只查询了当前登录用户,而不是完整的管理员团队e_details表也包含了其他用户的数据??检查并尝试我的答案。这将解决问题issue@VishalParkash,是的,e_详细信息还包含其他用户数据,我正在更新我的问题以使其更清晰。您测试了我的答案吗?@VishalParkash,我收到了管理员登录的用户的数据,但没有收到管理员自己的数据,这意味着它只查询当前登录用户,不完整的管理团队e_details表也包含其他用户的数据??检查并尝试我的答案。这将解决问题issue@VishalParkash,是的,e_details也包含其他用户的数据,我正在更新我的问题以使其更清晰。您测试了我的答案吗?我不想查询e_用户,但想从e_details获取数据,并且只有用户的数据应该来自e_details,其中登录的用户是这些用户的管理员,对不起,如果我不能解释的话correctly@rjcode:真的。。。它起作用了吗?我刚刚更新了代码。请检查,,这是您正在寻找的..我不想查询e_用户,但想从e_详细信息中获取数据,并且只有这些用户的数据应该来自e_详细信息,其中登录的用户是这些用户的管理员,如果我不能解释,很抱歉correctly@rjcode:真的。。。它起作用了吗?我刚刚更新了代码。请检查,这是你要找的。。
 <?php 
        public function get_method($user_id){
    $query = $this->db->select('e_users.*, e_details.*')
            ->from('e_users')
            ->join('e_details', 'e_users.user_id = e_details.user_id', 'inner')
            ->where('e_users.manager_id',$user_id)
            ->get();
    if($query -> num_rows() > 0){
        $details_array = $query->result();
        print_r($details_array);die;
        $response['details_array'] = $details_array;
        return $response;
    }else{
        return false;
    }
}
?>