【问题标题】:sql query joining three tablessql查询连接三个表
【发布时间】:2012-07-28 09:41:26
【问题描述】:

我必须从tbl_ticket_categories 中选择category name,description,id 从所选id 我必须从tbl_ticket_repliers 中找到user_id 并从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)

tbl_users(id , role_id , username , password )

已解决

【问题讨论】:

  • 您可以添加表结构吗?那么可能更容易完全理解您的问题。
  • @ArnoMoonen 我已经添加了我的表结构

标签: php mysql codeigniter join


【解决方案1】:
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 你会看到结果

【讨论】:

    【解决方案2】:

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

    对不起

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 2012-05-02
      • 2015-09-23
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多