Voila un moment déjà que je suis sur un projet en symfony, et me voila confronté a un problème que je ne m'explique pas, je vous passe tout le contexte de l'application les seules point à savoir étant que j'ai une variable $prec_lundi qui représente le lundi de la semaine précédente et d'autre part je dispose d'une BDD dans laquelle figure les tables :
- COURS
- PLAGE
- DECLARATION_PLAGE
avec tous les attributs qui leurs son propres.
L'objectif est d'obtenir un tableau dans lequel figure les plages déclaré par le formateur entre un jour X et un jour Y ainsi que l'état des-dites plages horaires.
Pour ce faire j'utilise le code suivant:
Certes la requête n'est pas des plus courte mais elle est claire, pour vérifier la justesse de ma requête je l'ai testé sur ma BBD en ligne de commande et le retour attendu est bien là au contraire, doctrine me renvoie une collection avec des éléments contenu mais lorsque je souhaite récupérer un tableau à partir de cette collection ma variable $res1 est tous simplement égale a Array()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $q1 = Doctrine_Query::create() ->select("p.DATEPLAGE AS date, p.HEUREDEBUTPLAGE AS heure, d.IDFORMATEUR AS idFormateur, d.IDETATPLAGEDECLAREE AS etat, c.DUREECOURS AS coursDuree, c.FOR_IDFORMATEUR AS coursIdFormateur") ->from("PLAGE p") ->leftJoin("p.COURS c ON c.IDPLAGE=p.IDPLAGE") ->leftJoin("p.DECLARATION_PLAGE d ON d.IDPLAGE=p.IDPLAGE") ->where("d.IDFORMATEUR=".$sf_user->getAttribute('IDFORMATEUR')."") ->andWhere("p.DATEPLAGE >= '".date("Y-m-d", $this->prec_lundi)."'") ->andWhere("p.DATEPLAGE <= '".date("Y-m-d", $this->prec_lundi+(5*24*3600) )."'") ->andWhere("p.HEUREDEBUTPLAGE >= '8:00:00'") ->andWhere("p.HEUREDEBUTPLAGE <= '21:00:00'") ->orderBy("date, heure"); $coll1 = $q1->execute(); $this->res1 = $coll1->toArray();
Ma question est de savoir pourquoi en Mysql j'obtiens le bon résultat alors qu'avec Doctrine+Symfony je me retrouve avec rien ou pas vraiment puisqu'un tableau vide ce n'est pas rien ...
Merci de votre aide et de vos réponses.
A tout hasard j'ai fait un petit symfony cc et j'ai actualisé ma page et la le problème semble "s'éclaircir" par le message d'erreur suivant :
Relation ou propriété inconnu cette erreur me semble des plus incongrue car suite à la récupération de la requete générée avec un500 | Internal Server Error | Doctrine_Record_UnknownPropertyException
Unknown record property / related component "IDPLAGE" on "PLAGE"
et le teste de celle-ci dans mon terminal Mysql j'obtiens le tableau que je souhaite ... je me pose la question si Doctrine effectue correctement le mapping de relation à partir d'une BDD existante ... la BDD étant fournie de plus de 100 tables j'ai très peu envie de réécrire toutes les relations à la main .
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $q1->getSql();
Partager