2015-05-06 3 views
2

У меня есть тестер Array $, который получает два массива $ variavel1 и $ variavel2. Тогда я поставил:Доступ к данным из массива Multi

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

В View Как я могу принять значения из $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);

Изображения, чтобы объяснить мой p РОБЛЕМА: enter image description here enter image description here enter image description here

+0

это не работает, как этот '$ testes ['$ variavel1'] ['field']', возможно '$ testes [$ variavel1] [' поле '] '? – Alex

+0

Tira as aspas simples quando tiver uma variável. –

+0

Попробуйте '$ testes [0] ['ProcuraProdutoPedOnline']' – Alfwed

ответ

3

Я думаю, что в первую очередь необходимо знать структуру массива. Добавьте это к вашему мнению, и вы получите список:

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

Если результат пуст проблема может быть в том месте, где вы добавляете $ variavel1 и $ variavel2 к переменным $ семенников ...

EDIT 2: на вашем примере массив:

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

EDIT 3 в качестве ответа на свой вопрос в комментариях к этому посту:

Я до сих пор не понимаю, как связаны $ variavel1 и $ variavel2. Если соединение отсутствует, вам не нужно объединять их в один массив. Вы можете просто использовать один Еогеасп в другой Еогеасп:

В контроллере:

$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 

Если это не отвечает на ваш вопрос, пожалуйста, приведите пример (с именами переменных на английском языке), что вы хотите получить точно и как две таблицы связаны/связаны ...

+0

не пусто, значение есть, это структура: 'Массив ( [0] => Массив ( [0] => Массив ( [VwEstPedOnline] => Массив ( [cd_seq_pedido ] => 2034 ) ) [1] => Массив ( [VwEstPedOnline] => Массив ( [cd_seq_pedido] => 2038 ) ) ' –

+0

Я до датированный моим примером ... –

+0

Да, это сработало! Но результат 2034 дублируется, и я хочу привести весь массив, понять? Все позиции. Как я могу это сделать ? –

Смежные вопросы