Передать массив внутри контроллера в cakePHP - PullRequest
0 голосов
/ 11 июня 2011

В моем контроллере у меня есть 2 действия, например:

action1() {

//code

SomeArray=();

//code

}

Как я могу передать все данные SomeArray в action2?

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

  2. Я пытался передать в качестве аргумента для action2 ...

Например, в action1, $ this-> action2 (SomeArray) и затем action2 ($ param) снова без удачи.

function doExam($id = null) {

if (!$id) {
    $this->Session->setFlash(__('Invalid exam', true));
    $this->redirect(array('action' => 'index'));
}

$this->Exam->recursive=1;


$conditions_question = array('Question.exam_id' => $id);
$questions = $this->Exam->Question->find('all',array('conditions' => $conditions_question));

foreach ($questions as $question) {
    **$this->questionsByExam[]** = $question['Question']['qst'];
}
//OK PASSED
echo debug($this->questionsByExam);

//OK $exam_id  
$this->exam_id = $id;
}

у меня есть другое действие validate_answer, и я хочу передать здесь questionsByExam

любая помощь?

Заранее спасибо

1 Ответ

0 голосов
/ 15 июня 2011

Я попытался создать переменную открытого массива в своем классе и передать ее, но безуспешно.

Можете ли вы показать код для этого? Он должен нормально работать как переменная класса ...

например:

class FooController extends AppController {

    var $someArray = array();

    function doExam() {

        // Populate the array here
        $this->someArray = array(1,2,3); 

    }

    function bar() {

        // Use it here, no need to pass it as an argument
        print_r($this->someArray);

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...