Beispiel #1
0
    public function getOne($id)
    {
        $req = $this->pdo->prepare('
			SELECT t.*, ma.pseudo auteur, mm.pseudo modificateur
			FROM technote t
			INNER JOIN membre ma ON ma.id_membre=t.id_auteur
			LEFT JOIN membre mm ON mm.id_membre=t.id_modificateur
			WHERE id_technote = :id_technote
		');
        $req->execute(array('id_technote' => $id));
        if (($res = $req->fetch()) === false) {
            return false;
        }
        $decrireDAO = new DecrireDAO(BDD::getInstancePDO());
        $res->motsCles = $decrireDAO->getAllForOneTechnote($id);
        $commentaireDAO = new CommentaireDAO(BDD::getInstancePDO());
        $res->commentaires = $commentaireDAO->getTreeForOneTechnote($id, NULL);
        return new Technote(get_object_vars($res));
    }
Beispiel #2
0
    public function getTreeForOneTechnote($id_technote, $id_commentaire_parent)
    {
        $res = array();
        $op = empty($id_commentaire_parent) ? 'IS' : '=';
        $req = $this->pdo->prepare('SELECT c.*, ma.pseudo auteur, mm.pseudo modificateur 
									FROM commentaire c 
									INNER JOIN membre ma ON ma.id_membre=c.id_auteur 
									LEFT JOIN membre mm ON mm.id_membre=c.id_modificateur 
									WHERE id_technote = :id_technote 
										AND id_commentaire_parent ' . $op . ' :id_commentaire_parent');
        $req->execute(array('id_technote' => $id_technote, 'id_commentaire_parent' => $id_commentaire_parent));
        $commentaireDAO = new CommentaireDAO(BDD::getInstancePDO());
        foreach ($req->fetchAll() as $ligne) {
            $ligne->commentaires = $commentaireDAO->getTreeForOneTechnote($id_technote, $ligne->id_commentaire);
            $res[] = new Commentaire(get_object_vars($ligne));
        }
        return $res;
    }