2010-07-16 3 views
6

J'ai ajouté une nouvelle colonne "features" à la table de site et j'ai régénéré les modèles en utilisant Doctrine.
Ce code provoque une erreur:Doctrine Colonne non trouvée: 1054 Colonne inconnue 's.features' dans 'liste des champs' '

$siteTable = Doctrine_Core::getTable("Site"); 
$site = $siteTable->findOneByName("site"); // this line is throwing an exception 

Exception:

Unknown column "s.features" in field list.....

j'ai vérifié la base de données et il contient le champ, j'ai aussi vérifié le modèle du site et la définition de la table contient les informations de colonne. La clé primaire de toutes les tables est id. Toujours dans la ligne qui jette l'exception, je n'utilise pas la colonne nouvellement ajoutée. Si je supprime la colonne de la définition de table de l'objet de site alors le code ci-dessus fonctionne ...

Cette erreur se produit à n'importe quelle table lorsque j'ajoute une nouvelle colonne et régénère les modèles de celle-ci.

+0

pourrait votre message votre modèle (schema.yml par exemple) et SQL Schéma DB? –

+0

Avez-vous vérifié la base de données a la colonne? On dirait que vous n'avez pas reconstruit la base de données. – johnwards

+0

Si vous voulez vraiment obtenir cette réponse s'il vous plaît poster. La sortie du site 'DESCRIBE;' à partir de la base de données. Votre fichier schema.yml. Et le bloc de commentaires BaseSite du haut de votre fichier généré/BaseSite.php –

Répondre

1

Avez-vous vérifié les classes de tables de base générées? Devrait être BaseSite.class.php

./doctrine build-all 

devrait résoudre le problème.

0

vérifier cette commande sur
goto répertoire doctrine
il doit y avoir bin/ et Doctrine/ répertoires là

php bin/doctrine orm:generate-proxies 
Questions connexes