使用codeigniter加入3个表并显示它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用codeigniter加入3个表并显示它相关的知识,希望对你有一定的参考价值。

我想创建一个连接数据库。在“关系”表中将显示“疾病”,可以添加许多“症状”。我该怎么办?

这是我的数据库:

疾病:id_disease,名称,详情 症状:id_symptoms,名称,详细信息 relation:id_relation,id_disease,id_symptoms

这是我的模特

function get_allrelation() {
    $this->db->select('*');
    $this->db->from('relation');
    $this->db->join('disease','disease.id_disease = relastion.id_disease','left');
    $this->db->join('symptoms','symptoms.id_symptoms= relation.id_symptoms','left');

    $query = $this->db->get();
        return $query->result();
    }
}

请帮我。

答案

下面的控制器仅在选择$this->db->select('relation.*, disease.*, symptoms.*');中的示例

在控制器上,您可以将数据传递给视图,在视图中创建一个foreach循环。

<?php

class Somecontroller extends CI_Controller {

    public function index() {

        $data['allrelation'] = $this->allrelation();


        $this->load->view('example', $data);

    }

    function get_allrelation() {
        $this->db->select('relation.*, disease.*, symptoms.*');
        $this->db->from('relation');
        $this->db->join('disease','disease.id_disease = relastion.id_disease','left');
        $this->db->join('symptoms','symptoms.id_symptoms = relation.id_symptoms','left');

        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        }

        return false
    }

}
另一答案

你有一个错字:而不是关系你有relastion.id_disease。

以下代码应该有效

function get_allrelation() {
  $this->db->select('*');
  $this->db->from('relation');
  $this->db->join('disease','disease.id_disease = relation.id_disease','left');
  $this->db->join('symptoms','symptoms.id_symptoms= relation.id_symptoms','left');

  $query = $this->db->get();
  return $query->result();
}

以上是关于使用codeigniter加入3个表并显示它的主要内容,如果未能解决你的问题,请参考以下文章

我是 codeigniter 的新手,我正在尝试加入 3 个表,但它给出了一些问题

mysql加入3个表并计数

左连接 3 个表并在空单元格上显示真假

如何在 Codeigniter 中连接两个表

搜索查询加入 3 个表,1 个表有日期

基于codeigniter中2个表的id显示数据