我正在使用三个与
PHP应用程序相关的MySQL表.有些测试有很多问题,问题有很多答案.我想做的是循环数据如下:
foreach($tests as $test)
{
echo $test->testName;
foreach($test->questions as $question)
{
echo $question->questionText;
foreach($question->answers as $answer)
{
echo $answer->answerText;
}
}
}
我想知道的是MySQL查询和PHP代码将以这种方式循环遍历它?
编辑MySQL无法返回这样的数组,我应该说的是MySQL PHP代码的样子.
为清楚起见,表格是测试,问题和答案.问题表包含test_id列,答案包含question_id
谢谢!
我想要回来的结构将是:
array(
'testName' = 'Test name string',
'questions' = array(
array(
'questionId' = 1,
'questionText' = 'Question string',
'answers' = array(
array(
'answerId' = 1,
'answerText' = 'Answer string'
),
array(
'answerId' = 2,
'answerText' = 'Answer string'
)
)
)
)
);
编辑
我目前的实现如下,我想要做的是急切加载数据而不是执行如此多的查询
$tests = getTests();
foreach($tests as $test){
$questions = getQuestions($test->id);
foreach($questions as $question){
$answers = getAnswers($question->id);
foreach($answers as $answer){
// do answer things
}
}
}