Reputation: 2485
I am developing my first big application using codeigniter and need a little help as I am fairly new to it all. I know how to get records out of the DB and display them, but I now have to get results from two tables and display them. I pass $data to the view, it works fine for $data['prop'] but I can't get the rest.
$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);
I usually echo out results like so:
<?php foreach ($prop as $p) : ?>
Even if there is only 1 row being returned as I am not sure of another way.do I need a foreach for img and branch?
<?php echo $p->ID; ?>
<?php endforeach; ?>
Upvotes: 2
Views: 3983
Reputation: 5885
How about using a join?
I dont know whats in your model but if you try something like
$this->db->from('property');
$this->db->join('branch', 'branch.id = property.id');
You can put a where statement in there too if you need something particular.
This means you have a more complex model but less loops and arrays and messy stuff in the view which is what you want.
Upvotes: 2
Reputation: 28883
Yes, currently you're just getting one or the other. You're probably better to put it into a multilevel array like $data['property']['prop']
.
Upvotes: 0