2015-06-14 2 views
1

Я хочу передать некоторые значения моему контроллеру из представления. На самом деле я использую следующий код:CakePHP передает две переменные элементу

<?echo $this->element('produtos-categoria', 
    array('categoria_id' => $produtos['Produto']['categoriasproduto_id'], 
    'produto_id' => $produtos['Produto']['id'])); ?> 

Но я не в состоянии получить второе значение в мой контроллер, только первое значение приходит:

public function listacategorias($categoria_id = null, $produto_id = null) { 
     pr($produto_id); exit; 
     //$produtos = $this->Produto->findBySlug($produto_id); 
     //$produtosrelacionados = $this->Produto->find('all', array('conditions'=>array('Produto.categoriasproduto_id' => $categoria_id))); 
     //$this->set(compact('produtos')); 
     //$this->set(compact('produtosrelacionados')); 
     //return $produtosrelacionados; 
    } 

В результат моего print пуст.

Любой может помочь, как получить второе значение? Спасибо!

+0

попробовать как 'публичную функцию listacategorias ((Array) $ category_data) { пр ($ category_data); exit; ' –

+0

проверить это и сообщить, что распечатано? –

+0

Вы проверили SQL, сгенерированный 'findBySlug()'? Неясно, что Элемент имеет отношение к вашей проблеме. Похоже, ваша проблема связана исключительно с извлечением данных в вашем контроллере. – drmonkeyninja

ответ

1

Я не знаю, чего вы пытаетесь достичь, но чтобы получить вторую переменную, вам нужно будет установить второй параметр в свой метод.

// If you want to set variable from a function and get it from an other function 
public function an_other_function(){ 
    $this->listacategorias(22, 333); 
} 

public function listacategorias($categoria_id = null, $produto_id = null) { 
    var_dump($categoria_id); 
    var_dump($produto_id); 
} 


// If you want to set and get variable from url 
host_or_domain_name/controller_name/listacategorias/22/33 
Смежные вопросы