使用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个表并显示它的主要内容,如果未能解决你的问题,请参考以下文章