我正在使用CodeIgniter,我正在从模型中获取member_id,并发送到foreach以获取member_id的相关数据。
$getMemberDetails['getAllMember']=$this->Member_model->getAllMember($member_id);//getting output is like 1,2,4,6,7
foreach ($getMemberDetails['getAllMember'] as $m_id) {
$getMemberDetails['getAllData']=$this->Member_model->getAllData($m_id->member_id);
}
$this->load->view('member/profile',$getMemberDetails);
foreach输出是:(有很多列我只是在分享一个例子)
Array ( [0] => stdClass Object ( [member_id] => 1 [first_name] => asdfgh ) )
Array ( [0] => stdClass Object ( [member_id] => 2 [first_name] => poiuyty ) )
从foreach获取输出后,我将发送以查看以显示记录。
在视图中
<?php $post=$getAllData;
print_r($post);//here I am getting all the record?>
foreach($post as $key => $value)
{
echo $value->first_name;
}
?>
如何获取视图中的所有记录?你能帮我这个忙吗?
答案 0 :(得分:1)
您总是会用最后的内容覆盖数据,构建数据数组并分配给它...
$allData = [];
foreach ($getMemberDetails['getAllMember'] as $m_id) {
$allData[] = $this->Member_model->getAllData($m_id->member_id)[0];
}
$getMemberDetails['getAllData'] = $allData;
我假设getAllData()
返回的是匹配记录的数组,因此,即使只有1条记录,它仍将返回一个数组。使用[0]
意味着提取您期望的1条记录。
答案 1 :(得分:0)
尝试在您的代码中使用[]
。
foreach ($getMemberDetails['getAllMember'] as $m_id) {
$getMemberDetails['getAllData'][] = $this->Member_model->getAllData($m_id->member_id);
}
在您的视图文件中,您可以使用以下代码访问此数组。
$allData = $getAllData;
foreach($allData as $key => $value)
{
echo $value->first_name;
}