php - 在多维数组中使用 getter 返回多个结果
问题描述
我写了一个函数,我必须用三个不同的答案返回一个相同的问题。
我设法提出了一个问题(我应该这样做,因为这三个问题都是一样的),但我很难弄清楚如何提出所有的答案。
转储$questions返回所有三个,但我的 foreach 只返回第一个。
$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;
推荐阅读
- javascript - 如何查找“拒绝执行内联事件处理程序因为违反 CSP blabla”的来源
- excel - 将包含日期的单元格值更改为日期格式后显示的文本
- javascript - 使用 Strapi 获取所有单一类型页面的 GraphQL 查询
- c++ - C++ 向量插入和迭代器混淆
- c++ - 如何在类模板的成员函数中正确调用函数对象?正在生成 Visual Studio 编译器错误 C2440
- android - Android Studio 4 在线版
- c - 在 Mac 终端中打开 C 程序
- excel - 即使数据相同,使用 .value 比较 excel 单元格也不匹配
- keyboard - 如何从块选择切换
- c# - Bot Framework .Net,如何将用户名、ID、令牌从我的 Web 应用程序获取到 Bot