Доступ к возвращаемому значению контроллера в представлении - PullRequest
1 голос
/ 30 апреля 2011

В моем контроллере у меня есть этот метод

<?php

function test($value){              

    $products = $this->Model->getProducts($id);

    for($i=0; $i < count($products); $i++){ 
        foreach ($products[$i] as $key => $value) {
            return $value;
        }
    }
}
?>  

Как я могу получить доступ к этому из вида?

1 Ответ

3 голосов
/ 30 апреля 2011

Если вы генерируете переменную в контроллере и хотите получить к ней доступ в представлении, вы можете использовать

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

Это позволит вам также использовать значение $ в соответствующем представлении.

Если вы действительно хотите получить доступ к функции из представления, вы не хотите помещать эту функцию в контроллер, но в качестве помощника. (Как правило, вы помещаете функции, которые вы хотите сделать доступными для ваших представлений, в помощники, а функции, которые вы хотите сделать доступными для вашего контроллера, в компоненты.) Возможно, стоит больше узнать о помощниках в Cake Cookbook и т. Д. не знаю с чего начать!

РЕДАКТИРОВАТЬ: Для получения всех соответствующих значений вашего цикла, вы можете попробовать что-то вроде:

$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'));
...