2010-09-20 23 views
1

Pourquoi suis-je recevoir ceci:Erreur lors de la jointure de tables avec Zend_Db

An error occurred 

Application error 

Exception information: 

Message: Select query cannot join with another table 

tout en essayant de joindre deux tables?

Je possède ce code de ligne dans mon modèle qui étend Zend_Db_Table_Abstract

public function getProjects() { 
    $select = $this->select() 
      ->from(array('sub' => $this)) 
      ->join(array('main' => 'main_projects'), 'main.mai_id = sub.mai_id'); 
    return $this->fetchAll($select); 
} 

Et j'utiliser dans mon contrôleur: $this->view->entries = $this->sub_projects->getProjects();

Pourquoi diable je reçois cette erreur? Je veux juste faire un simple rejoindre

SELECT sub.*, main.mai_title FROM sub_projects AS sub INNER JOIN main_projects AS main ON sub.mai_id = projects.mai_id; 
enter code here 

Répondre

1

Je pense ici est votre solution et explication: http://www.mail-archive.com/[email protected]/msg24553.html Une autre solution ici: Translating a query to use Zend_Db_Select

+0

puis-je obtenir: 'SQLSTATE [42S02]: table de base ou vue introuvable : 1146 Table 'ccgss.object' n'existe pas ' –

+0

En fait j'ai aussi dû changer '$ this'pour le nom de la table –

+0

Bien que cette réponse puisse théoriquement répondre à la question, [c'est mieux] (http: // meta.stackexchange.com/q/8259) pour inclure les parties essentielles de la réponse ici, et fournir le lien pour référence. – hichris123