public function getOne($id) { $req = $this->pdo->prepare(' SELECT q.*, ma.pseudo auteur, mm.pseudo modificateur FROM question q INNER JOIN membre ma ON ma.id_membre=q.id_auteur LEFT JOIN membre mm ON mm.id_membre=q.id_modificateur WHERE id_question = :id_question'); $req->execute(array('id_question' => $id)); if (($res = $req->fetch()) === false) { return false; } $clarifierDAO = new ClarifierDAO(BDD::getInstancePDO()); $res->motsCles = $clarifierDAO->getAllForOneQuestion($id); $reponseDAO = new ReponseDAO(BDD::getInstancePDO()); $res->reponses = $reponseDAO->getTreeForOneQuestion($id, NULL); return new Question(get_object_vars($res)); }
public function getTreeForOneQuestion($id_question, $id_reponse_parent) { $res = array(); $op = empty($id_reponse_parent) ? 'IS' : '='; $req = $this->pdo->prepare('SELECT r.*, ma.pseudo auteur, mm.pseudo modificateur FROM reponse r INNER JOIN membre ma ON ma.id_membre=r.id_auteur LEFT JOIN membre mm ON mm.id_membre=r.id_modificateur WHERE id_question = :id_question AND id_reponse_parent ' . $op . ' :id_reponse_parent'); $req->execute(array('id_question' => $id_question, 'id_reponse_parent' => $id_reponse_parent)); $reponseDAO = new ReponseDAO(BDD::getInstancePDO()); foreach ($req->fetchAll() as $ligne) { $ligne->reponses = $reponseDAO->getTreeForOneQuestion($id_question, $ligne->id_reponse); $res[] = new Reponse(get_object_vars($ligne)); } return $res; }