Bonjour,

je suis entrain d'apprendre zend 1.12 via le learning du site (http://www.framework.zend.com/manual...ate-model.html)
Maintenant j'aimerai faire une mini app avec une relation ONE TO MANY.
J'ai donc créé 2 tables
auteur (id,name)
book (id,title,auteur_id) qui contient une foreign key

je crée donc les modèles associés ainsi que les 2 classes héritant de Zend_Db_Table_Abstract

voici pour book
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
protected $_name = 'book';
	protected $_referenceMap    = array(
        'Auteur' => array(
            'columns'           => 'auteur_id',
            'refTableClass'     => 'Auteur',
            'refColumns'        => 'id'
        )
    );
et auteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
protected $_name = 'auteur';
	protected $_dependentTables = array('Book');
Je pense être dans le bon jusque maintenant (d'après http://framework.zend.com/manual/1.1...tionships.html).

J'aimerai récupérer les livres avec leur auteur associé mais j'ai une erreur:
Message: File "Auteur.php" does not exist or class "Auteur" was not found in the file .
J'ai donc une méthode dans ma classe bookMapper:
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
18
19
20
21
22
23
public function findAuteur($id, Application_Model_Book $book)
    {
        $result = $this->getDbTable()->find($id);
        if (0 == count($result)) {
            return;
        }
        $row = $result->current();
 
        //hydratation de l'objet book
        $book->setId($row->id)
        ->setTitle($row->title);
 
        //Utilisation d'une methode pour récupérer l'auteur u livre
        $rowAuteur=$row->findParentRow('Auteur');      
        $auteur= new Application_Model_Auteur();
        //hydratation de l'objet Auteur
        $auteur->setId($rowAuteur->id)
        ->setName($rowAuteur->name);
 
        //Attacher l'auteur à l'article
        $book->setAuteur($auteur);
		return $book;
    }
je fais appelle à cette méthode dans mon controller de cette façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public function indexAction()
    {
        $book = new Application_Model_BookMapper();
        $this->view->entries = $book->findAuteur(1,new Application_Model_Book());
    }
Merci de votre aide parce que je dois passer un test prochainement qui consiste à créer une mini appli sur 2 tables en relation 1,n où il faut utiliser un formulaire pour l'ajout modif ainsi que d'afficher une liste.

Pour info il s'agit de zend 1.12

Si vous avez un bon tuto ou autre qui m'aiderait à avancer