Я хочу создать базу данных соединения. в таблице "отношения" будет показано "заболевание", которое может добавить много "симптомов". Как я должен это делать?
Вот моя база данных:
болезнь: id_disease, имя, реквизиты
симптомы: id_symptoms, имя, реквизиты
Отношение: 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();
}
relation.*, disease.*, symptoms.*
использование*
в Select может привести к неоднозначной ошибке столбца в будущем. Так что лучше указывать имя столбца вместо*