1

マルチステップフォーム送信用のフォームジェネレーターに取り組んでいます。

各ステップには複数のグループがあり、各グループには複数の質問があり、最後に各質問には独自のオプションがあり、それらはすべてプログラムに関連しています。

私は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)); 

問題は明らかです。オプションで内部結合を行っているため、結果が重複しています。

クライアント側で全体を解析すればうまくいくかもしれませんが、より最適化された、またはより良い方法を見つけたいと思っています。

4

0 に答える 0