【问题标题】:How to query (fetch) a multiple table of mysql database as a single table in codeigniter如何在codeigniter中查询(获取)mysql数据库的多个表作为单个表
【发布时间】:2015-07-15 10:17:42
【问题描述】:

我有三个数据库表

第一

vedd_plan_task ::
task_id | task name

第二次

  plan_task_mapping ::
  task_mapp_id | plan_id | task_id

第三次

tbl_plan ::
plan_id | plan_title | plan_price | plan_desc

在这张表中,我将第二张表与第一张和第三张进行了映射。 (2 个表的值来自第 1 和第 3)

对于 PLAN,我调用了来自 PLAN TASK tbl 的数据。并在两个不同的表中提交数据。 现在我必须将数据库显示为表,但我找不到获取 task_name 表单映射表的方法。

我想要一张有这个字段的表格

Plan_id |计划标题 |计划价格 |计划描述 | task_name(我之前用特定的计划 ID 插入的)..

【问题讨论】:

    标签: php mysql sql-server database codeigniter


    【解决方案1】:
    $query = $this->db->query('SELECT tbl_plan.plan_id ,plan_title ,plan_price ,plan_desc ,task_name,plan_task_mapping.task_id FROM tbl_plan LEFT JOIN plan_task_mapping ON plan_task_mapping.plan_id = tbl_plan.plan_id LEFT JOIN vedd_plan_task ON vedd_plan_task.task_id = plan_task_mapping.task_id');
    
    foreach ($query->result() as $row) {    
    
    echo $row->plan_id; 
    echo $row->plan_title;
    echo $row->plan_price;
    echo $row->plan_desc;
    echo $row->task_name; 
    echo $row->task_id; 
    
    } ?>
    

    【讨论】:

    • 我得到了其他值...除了仍然无法获得 task_id 和 plan_id .. 它显示:未定义的属性:stdClass::$plan_id 未定义的属性:stdClass::$task_id
    • 现在检查。刚刚编辑了plan_id并在查询中添加了task_id。
    • 先生,谢谢……先生还有 1 个问题……我有 4 个条目作为单一计划,我必须表明单一计划有多项任务……希望你理解
    • 你必须使用 order byorder by plan_id DESC LIMIT 1。谢谢
    • 对不起,我无法 2 理解您的上述句子 ** 我有 4 个条目作为单一计划,我必须显示单一计划有多项任务**
    【解决方案2】:
    $this->db->join('vedd_plan_task','vedd_plan_task.task_id=plan_task_mapping.task_id','inner');
    $this->db->join('plan_task_mapping ','plan_task_mapping.plan_id=tbl_plan.plan_id ','inner');
    $this->db->get('tbl_plan');
    

    【讨论】:

    • 使用此代码我已连接所有表并获取所有数据检查代码并发送给我
    • 仍然出现 ::: Unknown column 'plan_task_mapping.task_id' in 'on clause' 的错误
    • echo $this->db->last_query();检查查询
    【解决方案3】:
    $this->db->select('tbl_plan.plan_id,tbl_plan.plan_title,tbl_plan.plan_price,tbl_plan.plan_price,tbl_plan.plan_desc,vedd_plan_task.task_name');
    
    $this->db->from('plan_task_mapping,tbl_plan,vedd_plan_task');
    
    $this->db->where('plan_task_mapping.plan_id = tbl_plan.plan_id and plan_task_mapping.task_id=vedd_plan_task.task_id');
    
    $query = $this->db->get();
    return $query; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多