Я использую CodeIgniter для создания веб-сайта, и я хочу показать список строительных проектов из таблицы базы данных, которые мы просто будем называть project_table
. Для каждого проекта у меня также есть адрес, хранящийся в другой таблице, address_table
, каждый адрес имеет project_id
, который связывает его с проектом.Реляционные базы данных и CodeIgniter
Я сделал функцию, get_projects, в моей модели проектов, который используется для получения информации о проекте и передать его в представление проекта, как, например:
public function index() {
$data['projects'] = $this->project_model->get_projects();
$data['title'] = 'Ejendomme';
$this->load->view('templates/header', $data);
$this->load->view('projects/index', $data);
$this->load->view('templates/footer');
}
Мой вопрос, как я получаю прочитанные адреса, связанные с правильными проектами и показанные. Я предполагаю, что могу сделать функцию, которая вызывается из представления, которая загружает адрес на основе project_id
, но, как я понимаю, это действительно плохая практика. Есть ли способ вызвать функцию get_address
с контроллера и передать ее в представление, не теряя следа, какой адрес принадлежит к проекту?
Обновление: По желанию здесь функция get_project()
, которая получает информацию о проекте из базы данных. Я рассмотрел вызов функции get_address()
внутри этого, но я не уверен, как вернуть адреса из функции.
// Function to read all projects from database
public function get_projects() {
$query = $this->db->get('project_table');
return $query->result_array();
}
Благодарим за отзыв, я добавил код для моей функции get_projects(). Что означает pt. * И at'. *? что имена таблиц? (Ie project_table и address_table в моем примере) – Noceo
pt. * Относится ко всем столбцам в таблице, на которые ссылается как «pt» (в примере, указанном выше, который является project_table) – Tim
Я думаю, что я немного получу его сейчас (извините за то, что он медленный, Ранее я не видел этот синтаксис). Итак, как я буду обращаться к различным частям возвращаемого объекта результата? – Noceo