У меня возникают проблемы, чтобы показать все данные из двух разных таблиц, которые имеют разные записи - PullRequest
0 голосов
/ 18 января 2019

Для получения информации об использовании codeigniter

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

  1. таблица A имеет 4 записи изображение 1
  2. таблица B имеет 5 записей picutre 2

Я хочу показать, что записи из 2 таблиц, которые у меня есть выше, на мой взгляд но, на мой взгляд, это просто показывает 4 записи.

  1. 4 записи из таблицы A
  2. 4 записи из таблицы B

Несмотря на то, что в таблице B есть 5 записей, она просто показывает 4 записи

Это мой код:

Модель

function getAlldata(){
   $this->db->select('*');
   $this->db->from('data_skm_organisasi'); 
   $this->db- >JOIN('data_skm_kejuaraan','data_skm_kejuaraan.id=data_skm_organisasi.id');
   $results = $this->db->get();     
   return $results->result();
}   

Контроллер * * 1 032

public function V_home()
{
   $dataSimpanOrganisasi = array();
   $dataSimpanOrganisasi ['organisasi']= $this->M_main->getAlldata(); ;
   $this->load->view('V_mahasiswa',$dataSimpanOrganisasi);
} 

вид

<?php foreach ($organisasi as $dataSimpan) { ?>
     <div>
          <?php echo $dataSimpan->Lembaga; ?>
          <?php echo $dataSimpan->tingkatan_O; ?><br><br>
     </div>
          <?php } 
?><br><br>

<?php foreach ($organisasi as $dataSimpan) { ?>
      <div>
          <?php echo $dataSimpan->jenisKegiatan; ?>
          <?php echo $dataSimpan->tingkatan; ?><br><br>
      </div>
          <?php } 
?>

что мне делать с моим кодом? есть ли проблема в моем коде?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я думаю, что вы использовали неправильный столбец для объединения в таблицу data_skm_kejuaraan. Попробуйте изменить:

$this->db->JOIN('data_skm_kejuaraan','data_skm_kejuaraan.id=data_skm_organisasi.id');

до

$this->db->JOIN('data_skm_kejuaraan','data_skm_kejuaraan.id_juara=data_skm_organisasi.id');
0 голосов
/ 18 января 2019

Вы используете обычную команду $db->join, которая является внутренним объединением. Вот почему вы видите только строки таблицы B, когда в таблице A есть соответствующая строка. В вашем случае, кажется, вам нужно внешнее соединение, а не внутреннее соединение. Вы можете указать его, добавив параметр в оператор соединения:

$this->db->join('data_skm_kejuaraan', 'data_skm_kejuaraan.id=data_skm_organisasi.id', 'right outer');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...