J'ai pris en charge une application écrite avec l'utilisation de Zend MVC et Zend_Db_Table pour l'accès DB. Je suis en train d'ajouter une nouvelle table mais obtenir l'erreur:Zend_Db_Table Table de base ou vue non trouvée
Base table or view not found: 1146 Table 'maa_agencies.contact' doesn't exist
Cependant maa_agcencies.contact très COÛTE existe et est dans le même DB que le reste des tables en cours d'accès.
Voici mes pas et le code:
Étape 1:
Créer le modèle de classe
fichier: application/modèles/DbTable/Contact.PHP
class Model_DbTable_Contact extends Zend_Db_Table_Abstract
{
protected $_name = 'contact';
}
Étape 2 :
Instancier la classe de la même manière qu'une douzaine de fois en courant alternatif ontroller (toutes les autres tables de travail)
fichier: application/modules/agences/contrôleurs/IndexController.php (étape aussi 3)
$agency_contact = new Model_DbTable_Contact();
Étape 3:
Écrivez mes données à ma nouvelle table (store_contact de $ est un tableau assoc avec clé = valeur de nom de colonne = valeur)
$agency_contact->insert($store_contact);
y at-il une fonction de mise en cache Zend je ne connais pas?
Quelque chose de spécial je dois faire pour le dire j'ai ajouté une nouvelle table? Tous les documents que j'ai rencontrés disent que c'est tout ce qui est nécessaire, et comme je l'ai indiqué ci-dessus, le fichier auquel j'essaie d'accéder accède déjà à 2 autres tables dans la même DB, en fait la ligne juste au-dessus où j'instancie mon modèle de contact est cette déclaration qui fonctionne bien:
$sm = new Model_DbTable_SentEmail();
L'idée d'espace de nom semble impressionnante! Si ce système n'était pas une bâtardisation du cadre. Voici un modèle
/**
* @category Model_DbTable
* @package Model_DbTable_States
class Model_DbTable_States extends Zend_Db_Table_Abstract
{
protected $_name = 'state_list';
}
travaille actuellement Y at-il dans le vodou commentant peut-être, je ne parviens pas à trouver nulle part dans le code où un espace de noms est enregistré à tous.
peut-être il y a un moyen de la DB comme réinitialiser connexion et reconstruire un fichier de schéma caché quelque part?Je ne m'imaginerais pas qu'il vérifie le schéma de DB chaque fois qu'une connexion est faite, il doit y avoir une version en cache quelque part qui peut être rafraîchie. – Zjoia