connection = $connection; } public function insertQuestion(Question $question, string $idForm) { $query = "INSERT INTO Question(content, type, form) VALUES(:content, :type, :form)"; $this->connection->executeQuery($query, array( ':content' => array($question->getContent(), PDO::PARAM_STR), ':type' => array(get_class($question), PDO::PARAM_STR), ':form' => array($idForm, PDO::PARAM_STR) )); $this->connection->executeQuery(); $idQuestion = $this->connection->lastInsertId(); if(get_class($question) == BoxQuestion::class){ $listPossibleResponse = $question->getPossibleResponses(); for($i = 0; $i < count($listPossibleResponse); $i++){ $query = "INSERT INTO PossibleResponse(content) VALUES(:content)"; $this->connection->executeQuery($query, array( ':content' => array($listPossibleResponse[$i], PDO::PARAM_STR) )); $this->connection->executeQuery(); $idPossibleReponse = $this->connection->lastInsertId(); $query = "INSERT INTO Propose(question, possibleResponse) VALUES(:question, :possibleResponse)"; $this->connection->executeQuery($query, array( ':question' => array($idQuestion, PDO::PARAM_INT), ':possibleResponse' => array($idPossibleReponse, PDO::PARAM_INT) )); $this->connection->executeQuery(); foreach ($question->getCategories()[$i] as $keyword){ $gatewayForm = new GatewayForm($this->connection); $gatewayForm->assignKeywordToQuestion($keyword, $idQuestion); } } } } }