php - 从sql表中查询数据,其中引用在另一个表中

标签 php mysql codeigniter

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

场景 - 登录用户是经理,想要为其团队提取数据..

说明--

e_users 表

|user_id | name    | manager_id 
---------------------------------
|1       | test    | 10
|2       | another | 1
|3       | testX   | 1
|4       | testY   | 2
|5       | testX   | 2

e_details 表

|det_id  | detail  | user_id 
---------------------------------
|1       | sdfs    | 1
|2       | xcffgdf | 2
|3       | sdfsd   | 3
|4       | etret   | 5
|5       | cvbcvb  | 5

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

e_details 表有数据,我只想查询其经理当前登录的用户的数据。意味着管理器将从e_details表中提取用户数据。

e_details 表有 user_id、detail_comment、details_date...

e_users有 user_id, manager_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();
}

我想我需要连接两个表,然后使用公共(public)键值进行搜索?

谢谢

最佳答案

如果我理解正确的话,你就错过了 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;
    }
}
?>

关于php - 从sql表中查询数据,其中引用在另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40759967/

相关文章:

database - 模特经纪公司数据库意见

php - 从 WordPress 数据库中删除不必要的元表?

PHP:INPUT_POST(在 filter_input_array 中使用)覆盖之前对 $_POST 的所有修改

php - PDO 选择具有未知列的查询?

mysql - 如何收集不需要的值?

java - 我无法将两个值插入到不同的 SQL 表中

codeigniter - 在 uri 中使用 GET 数据进行分页 - Codeigniter

php - 使用 Codeigniter 在数据库中搜索值并获取这一行中的所有值

php - 所见即所得编辑器输出的自动图像大小调整器?

php - 根据复选框值将是或否插入 MySQL