Ошибка базы данных при попытке присоединиться к таблице Codeigniter - PullRequest
1 голос
/ 06 марта 2020

Итак, я хочу получить данные из двух таблиц. Но я получил эту ошибку:

enter image description here

Вот мой Запрос от модели:

public function tampil_edit($id) {
            $this->db->join('tb_m_user', 'tb_m_user.id=tb_m_notaris.id');
            $this->db->select('tb_m_notaris.*,tb_m_user.email as email_notaris');
            return $this->db->get_where('tb_m_notaris', $id);
        }

Здесь мой Контроллер:

public function tampiledit($id) {
            $id = ['id' => $id];
            $title['title'] = 'Notaris | Edit';
            $data['notaris']    = $this->m_notaris->tampil_edit($id)->result();

            $this->load->view('template/headercss',$title);
            $this->load->view('template/sidebar');
            $this->load->view('template/navbar');
            $this->load->view('master_data/notaris/edit', $data);
            $this->load->view('template/footerjs');
        }

Вот что содержит $ id: enter image description here

Ответы [ 4 ]

1 голос
/ 06 марта 2020

Вы должны попробовать это.

public function tampil_edit($id) {
   $this->db->select('tb_m_notaris.*,tb_m_user.email as email_notaris');
   $this->db->join('tb_m_user', 'tb_m_user.id=tb_m_notaris.id');
   $this->db->get_where('tb_m_notaris', array('tb_m_notaris.id' => $id));
   return $this->db->get()->row_array();
}

обновить это в вашем контроллере

 $data['notaris']    = $this->m_notaris->tampil_edit($id);

1 голос
/ 06 марта 2020

Проверьте ваш SQL

WHERE id = 45
      ^^

Этот id принадлежит какой таблице ?? Cz есть несколько таблиц (tb_m_notaris, tb_m_user) со столбцом id.

Для вызова функции

tampil_edit(45) {} # makesure $id is not an array

В модели

public function tampil_edit($id) {
    $this->db->select('tb_m_notaris.*,tb_m_user.email as email_notaris');
    $this->db->from('tb_m_notaris');
    $this->db->join('tb_m_user', 'tb_m_user.id = tb_m_notaris.id');
    $this->db->where('tb_m_notaris.id', $id);
    return $this->db->get()->result();
}
1 голос
/ 06 марта 2020

вы должны передать это в вашем контроллере

public function tampiledit($id) {
        $id = ['tb_m_notaris.id' => $id];
        $title['title'] = 'Notaris | Edit';
        $data['notaris']    = $this->m_notaris->tampil_edit($id);

        $this->load->view('template/headercss',$title);
        $this->load->view('template/sidebar');
        $this->load->view('template/navbar');
        $this->load->view('master_data/notaris/edit', $data);
        $this->load->view('template/footerjs');
    }
0 голосов
/ 06 марта 2020
public function tampil_edit($id) {
   $this->db->select('tb_m_notaris.*,tb_m_user.email as email_notaris');
   $this->db->from('tb_m_notaris');
   $this->db->join('tb_m_user', 'tb_m_user.id=tb_m_notaris.id');
   $this->db->where('tb_m_notaris.id', $id);

   $query = $this->db->get();
   return $query->result_array();
}

Вы должны обновить свой запрос к этому. Поскольку столбец идентификатора существует в обеих таблицах, вам необходимо явно указать, к какому идентификатору таблицы вы хотите подключиться, указав имя таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...