Codeigniter Three Table Join, отображение проблемы изображения - PullRequest
0 голосов
/ 16 марта 2019

Я использую PHP-инфраструктуру CodeIgniter и MySQL для базы данных.Я хочу отобразить конкретный план этажа (img) комнаты, а также отобразить здание без комнат.

У меня есть 3 таблицы:

tblbldg - Здание

  • id (pk)
  • имя

комната - Номер

  • id
  • имя
  • этаж
  • building_id (фк)

tblfloorplan - План этажа

  • id
  • floor
  • building_id (fk)
  • img

Я пробовал этот код, но в итоге он смешивается, как будто building1 floor1 отображает тот же план этажа со зданием 2 floor1:

public function get_rooms(){
    $this->db->select('tblroom.id,
        tblroom.name,
        tblroom.floor,
        tblbldg.name as building_name,
        tblfloorplan.img');
    $this->db->from('tblroom');
    $this->db->join('tblbldg',"tblbldg.id = tblroom.building_id");
    $this->db->join('tblfloorplan',"tblfloorplan.floor = tblroom.floor");
    return $this->db->get();
}

1 Ответ

0 голосов
/ 16 марта 2019

Попробуйте,

public function get_rooms(){
       $this->db->select('tblroom.id,
            tblroom.name,
            tblroom.floor,
            tblbldg.name as building_name,
            tblfloorplan.img');
        $this->db->from('tblroom');
        $this->db->join('tblbldg',"tblbldg.id = tblroom.building_id");
        $this->db->join('tblfloorplan',"tblbldg.id = tblfloorplan.building_id and tblfloorplan.floor = tblroom.floor");
        return $this->db->get();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...