0

我还是 Symfony2 的新手,我正在努力奋斗。我实际上想要一个正确的答案来回答这个问题:Symfony2 Sessions > Store & Retrieve array/collection of items in session,但与此同时,我不得不使用 $_SESSION 求助于一些“脏”的 PHP。但是,我似乎遇到了一个障碍,我的功能永远不会完成。我很确定这是因为问题实体与测验实体有多对一的映射(所以测验有问题,每个问题都有一个测验,有问题等,等等,坏循环),但我没有知道如何解决这个问题。我的代码如下所示:

public function nextQuestionAction()
{
    $data = $this->getRequest()->request->all();

    if (!isset($_SESSION['questions']))
    {
        $quiz = $this->getDoctrine()
            ->getRepository('CriticalReadingQuizBundle:Quiz')
            ->find($data['quiz_id']);

        $questions = $quiz->getQuestions();

        print_r($questions); die();

        $_SESSION['questions'] = $questions;
        $question = $questions[0];
    }
    else
    {
        foreach($_SESSION['questions'] as $key => $question)
        {
            if ($question['id'] == $data['question_id'])
            {
                if(isset($_SESSION['questions'][$key+1]))
                    $question = $_SESSION['questions'][$key+1];
                else
                {
                    unset($_SESSION['questions']);
                }
            }
        }   
    }

    return $this->createJsonResponse($question);
}

我把 print_r($questions); 死(); 看看我在我的问题中得到了什么,但毫不奇怪,这也没有完成。我知道正在做/错过一些愚蠢的事情,但我不知道那是什么。任何帮助将不胜感激。

4

1 回答 1

0

print_r()在这种类型的嵌套对象上可能会严重崩溃,甚至不会输出错误。你可以试试print_r($questions->toArray())

于 2013-10-24T15:07:31.353 回答