Codeigniter:从多个表中检索数据并显示结果
我正在开发我的第一个使用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) : ?>
即使有,因为我不知道其他way.do的我需要的IMG和分支的foreach返回仅1行?
<?php echo $p->ID; ?>
<?php endforeach; ?>
是的,目前你只是得到一个或另一个。你最好把它放到像$data['property']['prop']
这样的多级阵列中。
如何使用连接?
我不知道什么在你的模型,但如果你尝试类似
$this->db->from('property');
$this->db->join('branch', 'branch.id = property.id');
你可以把一个WHERE语句中有太多,如果你需要的东西尤其如此。
这意味着你有一个更复杂的模型,但更少的循环,数组和杂乱的东西在视图中,这是你想要的。
你会如何显示这个?并且我总是必须有一个foreach循环。在这种情况下,我知道只会返回一个结果。看起来愚蠢的在那里有一个循环 – 2010-06-08 12:20:11
首先,你*永远*“知道”只有一个结果将被返回,除非你在其上放置了一个'LIMIT 0,1'。其次,为什么你使用foreach循环呢?你的'ManageProperty_model'不应该注意这一点,只需返回对象,以便说'$ prop-> id,$ img-> image_link等'? – 2010-06-08 13:55:12