question = $question->getQuestion(); try { $q->save(); $question->setId($q->id); } catch(Doctrine_Exception $e) { throw new App_Dao_Exception('Error inserting question', $e); } } public function findQuestion($id) { $data = Doctrine::getTable('Question')->find($id); $question = new Quiz_Question(); $question->setId($data->id); $question->setQuestion($data->question); return $question; } /** * return a question object based on the question text * @param string $question * @return Quiz_Question */ public function findQuestionByQuestion($question) { $data = Doctrine::getTable('Question')->findOneByQuestion($question); $q = new Quiz_Question(); $q->setId($data->id); $q->setQuestion($data->question); return $q; } /** * Return a random question * @param array $questionIdList list of question ids to exclude * @return Quiz_Question */ public function fetchRandomQuestionNotIn($questionIdList) { $q = Doctrine_Query::create() ->from('Question') ->orderBy('RANDOM()'); if(count($questionIdList) > 0) $q->whereNotIn('id', $questionIdList); $result = $q->fetchOne(); if(!$result) return null; $question = new Quiz_Question(); $question->setId($result->id); $question->setQuestion($result->question); return $question; } }