Codeigniter: извлечение данных из нескольких таблиц и отображение результатов - PullRequest
2 голосов
/ 08 июня 2010

Я разрабатываю свое первое большое приложение с использованием codeigniter и мне нужна небольшая помощь, так как я довольно новичок во всем этом. Я знаю, как извлечь записи из БД и отобразить их, но теперь мне нужно получить результаты из двух таблиц и отобразить их. Я передаю $ data в представление, оно отлично работает для $ data ['prop'], но я не могу получить остальное.

$data['prop'] = $this->ManageProperty_model->get_property_details($p_id);<br> $data['img'] = $this->ManageProperty_model->get_property_images($p_id);<br> $this->load->model('ManageBranch_model');<br> $data['branch'] = $this->ManageBranch_model->get_branch_details($p_id);

Я обычно повторяю результаты примерно так:
<?php foreach ($prop as $p) : ?><br> <?php echo $p->ID; ?><br> <?php endforeach; ?> Даже если возвращается только 1 строка, так как я не уверен в другом. Нужен ли foreach для img и branch?

Ответы [ 2 ]

2 голосов
/ 08 июня 2010

Как насчет использования объединения?

Я не знаю, что в вашей модели, но если вы попробуете что-то вроде

        $this->db->from('property');
        $this->db->join('branch', 'branch.id = property.id');

Вы можете добавить туда оператор where, если вам нужно что-то конкретное.

Это означает, что у вас есть более сложная модель, но с меньшим количеством циклов и массивов, а также с беспорядочным содержимым в представлении, что вам нужно.

0 голосов
/ 08 июня 2010

Да, в настоящее время вы получаете только один или другой.Возможно, вам лучше поместить его в многоуровневый массив, например $data['property']['prop'].

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