2010-06-08 2 views
2

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

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

Я обычно эхо из результатов, как так:
<?php foreach ($prop as $p) : ?>
<?php echo $p->ID; ?>
<?php endforeach; ?>
Даже если есть только одна строка возвращается как я не уверен, что другой way.do мне нужна Еогеасп для IMG и отраслей?

ответ

0

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

+0

Как вы бы описали? и я всегда должен иметь цикл foreach. В этом случае я знаю, что будет возвращен только один результат. Кажется глупым иметь петлю там –

+0

Во-первых, вы никогда не «знаете», что только один результат будет возвращен, если вы не нажмете на него «LIMIT 0,1». Во-вторых, почему вы используете цикл foreach? Разве ваш ManageProperty_model не должен заботиться об этом и просто вернуть объект, чтобы вы могли сказать '$ prop-> id, $ img-> image_link и т. Д.?? –

2

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

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

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

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

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

Смежные вопросы