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