Есть две таблицы «ученик» и «родитель».в обеих таблицах есть столбцы «f_name» и «l_name».Я использовал левое соединение для этих двух таблиц.
Я хочу отобразить данные из этих двух таблиц.Однако, когда я использую следующий код, я получаю «имя родителя» в столбце, где должно быть указано имя ученика.Я понял, что это происходит потому, что в обеих таблицах есть столбцы «f_name» и «l_name».но как это исправить?
Контроллер
function index()
{
$this->load->model('Tableview_model');
$student_data= $this->Tableview_model->fetch_data();
$data["student_data"] = $student_data;
$this->load->view('register_students', $data);
}
модель
function fetch_data()
{
$this->db->select('s.student_code, s.f_name, s.l_name, s.tel, p.f_name, p.l_name');
$this->db->from('student as s');
$this->db->join('parent as p','s.p_id=p.p_id','Left');
$query=$this->db->get();
if($query->num_rows() > 0)
{
return $query->result();
}else{
return false;
}
}
просмотр
<?php
foreach ($student_data AS $row) {
?>
<tr>
<td><?php echo $row->student_code; ?></td>
<td><?php echo $row->f_name; ?> <?php echo $row->l_name; ?></td> //I'm supposed to get student first name and last name here
<td><?php echo $row->tel; ?></td>
<td><?php echo $row->tel; ?></td>
<?php
if(isset($row->f_name) && isset($row->l_name)){ // using isset() because of LEFT JOIN
?>
<td><?php echo $row->f_name; ?> <?php echo $row->l_name; ?></td> //I'm supposed to get parent first name and last name here
<?php
}
}
?>
вывод