2010-06-08 97 views
2

我正在開發我的第一個使用codeigniter的大型應用程序,需要一點幫助,因爲我對這一切都很陌生。我知道如何從DB中獲取記錄並顯示它們,但是現在我必須從兩個表中獲取結果並顯示它們。我將$ 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和分支的foreach返回僅1行?

回答

0

是的,目前你只是得到一個或另一個。你最好把它放到像$data['property']['prop']這樣的多級陣列中。

+0

你會如何顯示這個?並且我總是必須有一個foreach循環。在這種情況下,我知道只會返回一個結果。看起來愚蠢的在那裏有一個循環 – 2010-06-08 12:20:11

+0

首先,你*永遠*「知道」只有一個結果將被返回,除非你在其上放置了一個'LIMIT 0,1'。其次,爲什麼你使用foreach循環呢?你的'ManageProperty_model'不應該注意這一點,只需返回對象,以便說'$ prop-> id,$ img-> image_link等'? – 2010-06-08 13:55:12

2

如何使用連接?

我不知道什麼在你的模型,但如果你嘗試類似

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

你可以把一個WHERE語句中有太多,如果你需要的東西尤其如此。

這意味着你有一個更復雜的模型,但更少的循環,數組和雜亂的東西在視圖中,這是你想要的。

相關問題