Reputation: 1423
When I retrieve the data from database the output is following
I want to fetch records against these id's but when I try in my controller with for each it gives me only 1 record back Here is my code
//fetch all the posts relative to user in session
$post_id['id'] = $this->message_model->get_post($id);
echo '<pre>'; print_r($post_id['id']);die;
foreach ($post_id['id'] as $key) {
$post_id = $key['post_id'];
$results['post_list'] = $this->Model_Frontend_Posts->get($post_id);
}
when i print $results['post_list']
it gives me only one record
Upvotes: 0
Views: 310
Reputation: 178
$post_id['id'] = $this->message_model->get_post($id);
$array = array_column($post_id['id'], 'post_id'));
foreach ($array as $value) {
$results['post_list'] = $this->Model_Frontend_Posts->get($value);
}
Better to use array_column from the reference http://php.net/manual/en/function.array-column.php
Upvotes: 1
Reputation: 9675
Put it in an array so that it doesn't overrides on every loop. I guess this should solve it -
$results['post_list'][] = $this->Model_Frontend_Posts->get($post_id);
instead of
$results['post_list'] = $this->Model_Frontend_Posts->get($post_id);
Upvotes: 0