2015-06-14 58 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

尝试像'public function listacategorias((Array)$ category_data){ pr($ category_data);退出;' –

+0

检查并告诉打印出来什么? –

+0

你检查了'findBySlug()'生成的SQL吗?目前尚不清楚元素与您的问题有什么关系。这听起来像你的问题纯粹是与你的控制器中的数据检索有关。 – 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