Bonjour à tous,
Voilà, j'utilise Doctrine 1.2.2 que j'ai intégré à Zend Framework 1.10.2. Jusqu'à présent, tout fonctionnait correctement
Mais depuis que j'ai modifié la structure de ma base de données MySQL (moteur InnoDB), mes requêtes ne passent plus et au moment où la méthode execute() est lancée. Je m'explique :
- J'ai modifié certains noms de champ de mes tables,
- J'ai ajouté des contraintes UNIQUE sur certains champs de mes tables,
- J'ai regénéré les modèles Doctrine PHP et le schéma YAML,
- J'ai modifié mes classes qui faisaient appel aux modèles Doctrine pour mettre à jour les noms de champ,
- En relançant ma page PHP, le script semble bloquer au niveau de la méthode execute() de mes requêtes Doctrine,
- Le script paraît s'affoler (le processeur monte en fréquence), du coup je n'ai plus rien qui s'affiche (page blanche).
J'ai essayé de remplacer execute() par fetchArray() et là ça ne bloque plus. Je ne comprends pas ce qui se passe.
J'ai besoin de passer par execute() pour avoir des objets et non un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $this->_lang = Doctrine_Query::create() ->from('App_Models_Langue l') ->orderBy('l.lng_nom ASC') ->execute(); // Bloque : mais si remplacé par fetchArray() fonctionne normalement. $this->view->languages = $this->_lang;
N.B. : Les modèles prennent en compte les clés étrangères alors qu'avant ils ne les prenaient pas en compte : dans App_Models_Base_Langue (ma classe de définition de table pour Langue), j'ai dans la méthode setUp() plusieurs $this->hasMany(... );.
En fait je n'ai pas besoin de ses relations ici, car quand je fait une requête sur Langue, je ne veux pas tous les éléments liés.
Je ne sais plus comment faire ! A l'aide
Partager