Я получил две таблицы кино и , директор, в таблице фильма я получил два поля: « директора, 1» и 'director2.Codeigniter как эхо множественного INNER JOIN из одной таблицы
С внутренним соединением я сопоставляю две таблицы, но когда я делаю предлог поля «имя» и «фамилия» «директора», у меня есть только один результат, последний.
Это моя модель:
function getLastMoviesId($id)
{
$this->db->select('*');
$this->db->from('movie as m');
$this->db->join('director as d1', 'd1.id = m.director1');
$this->db->join('director as d2', 'd2.id = m.director2');
$this->db->where('m.id', $id);
$query = $this->db->get();
if($query->num_rows() > 0){
return $query->result();
} else {
return 0;
}
}
Это мое мнение:
<?php foreach ($archivepage as $m): ?>
<?= html_entity_decode($m->name) ?>
<?= html_entity_decode($m->surname) ?>
<?php endforeach ?>
'ВНУТРЕННИЙ JOIN' матчи между столбцами в обе таблицы. Если оба 'd1' и' d2' не совпадают, верните пустые. Вы можете использовать 'LEFT JOIN' – Bora
Эй, спасибо за ваш повтор, я изменил' $ this-> db-> join ('registi as r1', 'r1.id = f.regista1', 'left'); 'но результат не изменился, у меня есть только один результат, я думаю, что проблема в foreach. – simo
Итак, 'var_dump ($ query-> result());' в модели. То, что вы получаете? И вы можете попробовать 'LEFT JOIN' для' $ this-> db-> join' – Bora