【发布时间】:2014-09-26 00:34:35
【问题描述】:
我正在尝试创建一个应用程序,您可以在其中创建和回答测验。 创建部分已经完成,我可以保存测试、问题和答案。
它们之间的关系:
Test $hasMany Question
Question $hasMany Answer
我使用 foreach 创建了一个 viewTest,它显示了一个选定的测试及其相关问题:
echo $test['Test']['id'];
echo '</br>';
foreach ($test['Question'] as $question){
echo $question['text'];
echo '<br>';
如何检索与每个问题相关的答案数据?
*编辑 *
测试模型关系:
public $hasMany = array('Question' => array('className' => 'Question', 'foreignKey' => 'idTest'));
其中 idTest 是数据库中的 foreignKey
问题模型关系:
public $belongsTo = array('Test' => array('className' => 'Test', 'foreignKey' => 'idTest'));
public $hasMany = array('Answer' => array('className' => 'Answer', 'foreignKey' => 'idQuestion'));
答案模型关系:
public $belongsTo = array('Question' => array('className' => 'Question', 'foreignKey' => 'idQuestion'));
测试返回:
array (size=2)
'Teste' =>
array (size=4)
'id' => string '2' (length=1)
'dataLimite' => string '2014-09-25' (length=10)
'valorTeste' => string '2' (length=1)
'numQuestoes' => string '2' (length=1)
'Questao' =>
array (size=2)
0 =>
array (size=3)
'id' => string '3' (length=1)
'idTeste' => string '2' (length=1)
'descricao' => string 'questao1 ' (length=9)
1 =>
array (size=3)
'id' => string '4' (length=1)
'idTeste' => string '2' (length=1)
'descricao' => string 'dfsdfa' (length=6)
在测试的同一视图中,问题返回:
array (size=3)
'id' => string '3' (length=1)
'idTeste' => string '2' (length=1)
'descricao' => string 'questao1 ' (length=9)
编辑
在问题视图中,问题返回:
array (size=3)
'Questao' =>
array (size=3)
'id' => string '3' (length=1)
'idTeste' => string '2' (length=1)
'descricao' => string 'questao1 ' (length=9)
'Teste' =>
array (size=4)
'id' => string '2' (length=1)
'dataLimite' => string '2014-09-25' (length=10)
'valorTeste' => string '2' (length=1)
'numQuestoes' => string '2' (length=1)
'Alternativa' =>
array (size=2)
0 =>
array (size=5)
'id' => string '1' (length=1)
'idQuestao' => string '3' (length=1)
'isRespostaCerta' => boolean false
'respostaUsuario' => null
'descricao' => string 'alternativa 1' (length=13)
1 =>
array (size=5)
'id' => string '2' (length=1)
'idQuestao' => string '3' (length=1)
'isRespostaCerta' => boolean true
'respostaUsuario' => null
'descricao' => string 'alternativa 2' (length=13)
【问题讨论】:
-
测试 $hasMany 问题 -- 问题 $hasMany 答案;两个语句中的
Question是一样的吗?如果是,那么类似:echo $question['answers'] -
在您的问题模型中,您是否描述了问题和答案之间的关系??