sql查询连接三个表

时间:2012-07-28 09:41:27

标签: php mysql codeigniter join

我必须从所选category name,description,id的{​​{1}}中选择tbl_ticket_categories我必须从iduser_id中找到tbl_ticket_repliers我必须从user_id找到username

最后选择的属性应为tbl_users。 我的观点是: -

category_name, description and username

在我看来,当我在做 function editCategory($site_referers_id) { $this->db->select('tbl_ticket_categories.category_name,tbl_ticket_categories.description,tbl_users.username,tbl_ticket_repliers.user_id'); $this->db->where('site_referers_id',$site_referers_id); $this->db->join('tbl_ticket_repliers','tbl_ticket_repliers.category_id = tbl_ticket_categories.id'); $this->db->join('tbl_users','tbl_users.id = tbl_ticket_repliers.user_id'); return $this->db->get('tbl_ticket_categories'); } 时 它显示: -

<?php var_dump($categories); ?>

如何进行此查询:(

我的表格是: -

object(CI_DB_mysql_result)[32] public 'conn_id' => resource(43, mysql link persistent) public 'result_id' => resource(81, mysql result) public 'result_array' => array empty public 'result_object' => array empty public 'custom_result_object' => array empty public 'current_row' => int 0 public 'num_rows' => int 1 public 'row_data' => null

tbl_ticket_categories(id , category_name , description , site_referers_id)

tbl_ticket_repliers(id , user_id , category_id , site_referer_id)

解决

2 个答案:

答案 0 :(得分:3)

function editCategory($site_referers_id) {
        $this->db->select('tbl_ticket_categories.category_name,tbl_ticket_categories.description,tbl_users.username,tbl_ticket_repliers.user_id');
        $this->db->where('site_referers_id',$site_referers_id);
        $this->db->join('tbl_ticket_repliers','tbl_ticket_repliers.category_id = tbl_ticket_categories.id');
        $this->db->join('tbl_users','tbl_users.id = tbl_ticket_repliers.user_id');
        return $this->db->get('tbl_ticket_categories')->result_array();
    }

在查询上方添加result_array()print_r() instead of var_dump,您会看到结果

答案 1 :(得分:0)

这是正确的查询,问题是我写了result_array而不是result_array(),下次我删除了整个句子并使用了var_dump()。

抱歉