处理嵌套数组的多个foreach——PHP CodeIgniter

处理嵌套数组的多个foreach——PHP CodeIgniter,php,mysql,arrays,codeigniter,nested,Php,Mysql,Arrays,Codeigniter,Nested,首先,我要感谢您抽出时间来研究我的问题——我对PHP/CodeIgniter编程非常熟悉,但是,我非常喜欢它 我想做的是: 1) 在用户登录时检索与该公司关联的每个CompanyId。我通过将$CompanyId(在我的控制器中)作为参数从会话传递到模型中的查询来实现这一点。我认为这样做很有效: // Assign query result to array to be used in view $data['campaigns'] = $this->model_record-

首先,我要感谢您抽出时间来研究我的问题——我对PHP/CodeIgniter编程非常熟悉,但是,我非常喜欢它

我想做的是:

1) 在用户登录时检索与该公司关联的每个CompanyId。我通过将$CompanyId(在我的控制器中)作为参数从会话传递到模型中的查询来实现这一点。我认为这样做很有效:

 // Assign query result to array  to be used in view
    $data['campaigns'] = $this->model_record->retrieve_campaign($CompanyId);
2) 返回值是嵌套的数组,如下所示:

Array ( 
[campaigns] => Array ( 
    [0] => Array ( 
        [CampaignId] => 1 
        [DID] => 2394434444 
        [FWDDID] => 3214822821 
        [ProductId] => 1 
        [CampaignName] => Fort Myers Bus #1 
        [ProductName] => CallTrack - Sharktek 
        [Active] => 1 
        [CompanyId] => 1 ) 
    )
3) 处理完之后,我将尝试创建一个for-each循环,该循环通过模型中的另一个查询查询每个活动ID。由于我正在实现的MVC模式,我必须将此查询的结果传递给我的$data数组以发送到视图

foreach($data['campaigns'] as $campaign) {
    $ids[] = $campaign['CampaignId'];
}

foreach ($ids as $row) {
    $data['ids'] = $this->model_record->week_data(0,$row, $StartDate);
}
4) 然后,我尝试在我的视图中测试查看我查询的所有结果,然而,我只收到一个值,但是当我回显每个活动ID的结果时,它们都会显示出来。有人有什么建议吗

<?php 
foreach($ids as $row):
echo $ids['MyCount'];
endforeach
 ?>

5额外)我还没有开始处理这个问题,但一旦我开始处理这个问题,我希望运行查询week_数据7次,因为它将返回一周中每一天的数据。我的假设是,我将放置一个for循环,直到它达到7,这是正确的吗

再次感谢你们试图帮助我——我非常感谢你们中的许多人为这个社区所做的工作。

这句话:

$data['ids'] = $this->model_record->week_data(0,$row, $StartDate);
应该是这样的:

$data['ids'][] = $this->model_record->week_data(0,$row, $StartDate);

实际上,第一行覆盖了
$data['id']
,直到剩下最后一行。您需要将它们添加到一个数组中以收集它们。

关于您的假设是错误的5个额外值,您可以在一个查询中使用LIMIT和OFFSET sql构造,在active record的$this->db->LIMIT($OFFSET,$LIMIT)中执行此操作;你刚刚帮我省了几个小时看教程的时间。谢谢你,伙计!要处理查询七次,您是否建议使用for循环?