在视图中访问控制器返回值


Access a Controller return value in a View

在我的控制器中我有这个方法

<?php
function test($value){              
    $products = $this->Model->getProducts($id);
    for($i=0; $i < count($products); $i++){ 
        foreach ($products[$i] as $key => $value) {
            return $value;
        }
    }
}
?>  

我如何从视图内部访问这个?

如果你在控制器中生成了一个变量,并且想要在视图中访问它,你可以使用

$this->set('value', $value);

这将允许您在相关视图中使用$value。

如果你真的想从视图中访问一个函数,你不想把那个函数放在控制器中,而是放在一个helper中。(根据经验,您可以将希望视图访问的函数放在helper中,而将希望控制器访问的函数放在组件中。)如果你不知道从哪里开始,可能值得阅读更多关于蛋糕烹饪书中的帮手。

编辑:要获取循环的所有相关值,您可以尝试这样做:
$products = $this->Model->getProducts($id);
$results = array();
for($i=0; $i < count($products); $i++){ 
    foreach ($products[$i] as $key => $value) {
        $results[] = $value;
    }
 }
$this->set(compact('results'));