从 Array Multi 访问数据

Access data from an Array Multi

我有一个数组 $testes,它接收两个数组 $variavel1 和 $variavel2。然后我设置:

$this->set('testes', $testes)

在视图中如何获取 $variavel1$variavel2 的值?

我尝试了 $testes['$variavel1']['field'],但我得到了未定义的索引 $variavel1

实例:

Array ( [0] => Array ( [ProcuraProdutoPedOnline] => Array ( [cd_familia] => 3 [ds_familia] => ACESSORIOS ) ) [1] => Array ( [ProcuraProdutoPedOnline] => Array ( [cd_familia] => 1 [ds_familia] => CALCADOS ) )

Array ( [0] => Array ( [VwEstPedOnline] => Array ( [cd_seq_pedido] => 2034 ) ) [1] => Array ( [VwEstPedOnline] => Array ( [cd_seq_pedido] => 2038 ) )

我正在这样设置 $testes$testes = array($variavel1, $variavel2);

用图片解释我的问题:

我想你首先需要知道数组结构。将此添加到您的视图中,您将获得一个列表:

echo '<pre>';
print_r($testes);
echo '</pre>';

如果结果为空,问题可能出在您将 $variavel1 和 $variavel2 添加到变量 $testes 的地方...

编辑 2: 根据您的示例数组:

// Result should be 2034
echo $testes['0']['0']['VwEstPedOnline']['cd_seq_pedido'];

编辑 3 作为您在 post:

评论中的问题的答案

我还是不明白 $variavel1 和 $variavel2 是如何关联的。如果没有连接,则不需要将它们合并为一个数组。您可以简单地在另一个 foreach 中使用一个 foreach:

在您的控制器中:

$familias = $this->ProcuraProdutoPedOnline->find('all', array(
  'fields' => array('cd_familia', 'ds_familia'),
  'order' => 'cd_familia'));
$this->set('familias', $familias);

$cdSeqPeds = $this->VwEstPedOnline->find('all', array(
  'fields' => 'cd_seq_pedido',
  'order' => 'cd_seq_pedido'));
$this->set('cdSeqPeds', $cdSeqPeds);

在您看来:

foreach ( $familias as $var1 ) {
  echo '<p>'.$var1['ProcuraProdutoPedOnline']['ds_familia'].':</p>';
  echo '<ul>';
  foreach ( $cdSeqPeds as $var2 ) {
    echo '<li>'.$var2['VwEstPedOnline']['cd_seq_pedido'].'</li>';
  }
  echo '</ul>';
}

结果应该是这样的:

ACESSORIOS:
· 2034
· 2038
CALCADOS:
· 2034
· 2038

如果这不能回答您的问题,请举例说明(使用英文变量名)您想要得到的确切内容以及这两个表如何 connected/associated...