我正在处理多步表单提交的表单生成器。
我有一个步骤表,每个步骤都有多个组,每个组有多个问题,最后每个问题都有自己的选项,所有这些都与程序有关。
我正在使用zend框架构建。
我创建了一个sql语句,以便将完整的结果集设置如下
$resultSet = $db->fetchAll($db->select()->from(array('rs' => 'registration_steps'))
->joinInner(array('rg' => 'registration_groups'), 'rs.id = rg.registration_step_id')
->joinInner(array('rq' => 'registration_questions'), 'rq.registration_group = rg.id')
->joinInner(array('qo' => 'registration_question_options'), 'rq.id = qo.question_id', array('option_text'))
->where('rs.program_id =?', $program_id));
问题很明显,我得到了重复的结果,因为我正在使用选项进行内连接。
虽然如果我在客户端解析整个事情,这可能会有效,但我希望找到一种更优化或更好的方法。