Php 使用多维数组中的getter返回多个结果
我写了一个函数,在这个函数中,我必须返回同一个问题中的一个,并给出三个不同的答案 我设法提出了一个问题(我应该这样做,因为这三个问题都是同一个问题),但我很难找到所有答案 抛售$questions会返回所有三个问题,但my foreach只返回第一个Php 使用多维数组中的getter返回多个结果,php,multidimensional-array,getter,Php,Multidimensional Array,Getter,我写了一个函数,在这个函数中,我必须返回同一个问题中的一个,并给出三个不同的答案 我设法提出了一个问题(我应该这样做,因为这三个问题都是同一个问题),但我很难找到所有答案 抛售$questions会返回所有三个问题,但my foreach只返回第一个 $questions = $this->getQuestionRepository()->findBy([ 'user' => $user, ]); $result = [];
$questions = $this->getQuestionRepository()->findBy([
'user' => $user,
]);
$result = [];
foreach ($questions as $question) {
$result['question'] = $question->getQuestion();
foreach ($questions as $answer) {
$result['answers'] = [$answer->getAnswer()];
}
}
return $result;
结果:
"data": {
"question": "What is your name?",
"answers": [
"First answer"
]
},
试试这个:
$questions = $this->getQuestionRepository()->findBy([
'user' => $user,
]);
$result = [];
foreach ($questions as $question) {
$result['question'] = $question->getQuestion();
foreach ($questions as $answer) {
$result['answers'][] = $answer->getAnswer();
}
}
return $result;
就这样!非常感谢@Kaleem我只有一个问题,为什么在数据库中显示9个结果,而我只有3个?我的代码有错误吗?