Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-07-2011 22:17:08

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

[resolut]Comment lire une table avec un autre modèle ??

Bonjour, je souhaite crée une requête avec 2 Tables, mais avant de testé une jointure, j'aimerais vérifer si le modèle en question est capable de lire une autre table alors que le modèle en question n'appartient pas à cette table.

voici 2 table

Code:

CREATE TABLE IF NOT EXISTS `admin` (
  `id_user` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(50) NOT NULL,
  `droit` tinyint(3) unsigned NOT NULL,
  PRIMARY KEY (`id_user`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Code:

CREATE TABLE IF NOT EXISTS `image` (
  `id_image` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `url` varchar(10) NOT NULL,
  PRIMARY KEY (`id_image`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

voici le modèle image, c'est avec ce modèle que je souhaite qu'il puisse avoir accès la table Admin

Code:

class Application_Model_DbTable_Image extends Zend_Db_Table_Abstract
{

    protected $_name = 'image';
    protected $_primary = array('id_image');
    /*
     *  Références (FK)
     */
 
    protected $_referenceMap = array(  //// Référence à la table "Admin"
                                       'Admin' => array( 
                                            'columns' => 'id_user',
                                            'refTableClass' => 'Application_Model_Table_DbTable_Admin',
                                            'refColumns' => 'id_user' )
                                                );
}
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Pour le moment j'affiche le résultat dans mon controller, ici je vérifie juste si j'arrive à lire un champ de la table image

Code:

<?php

class IndexController extends Zend_Controller_Action {
    public function init() {
        /* Initialize action controller here */
    }
    public function indexAction() {
        $table = new Application_Model_DbTable_Admin();
        $users = $table->fetchAll();
        
        foreach ($users as $user) {
            echo $user->url;//on lit le champ url de la table image
        }
    }
}
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

ici pas de problème cela fonctionne, le lit tous les urls
maintenant j'essaye d'utiliser le même modèle Image mais j'essaye de lire une donnée dans la table admin

Code:

class IndexController extends Zend_Controller_Action {
    public function init() {
        /* Initialize action controller here */
    }
    public function indexAction() {
        $table = new Application_Model_DbTable_Admin();
        $users = $table->fetchAll();
        
        foreach ($users as $user) {
            echo $user->nom;//on lit le champ nom de la table admin
        }
    }
}
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

ici cela ne fonctionne pas sad

Code:

An error occurred
Application error
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

comment faut t'il faire pour que j'arrive à faire ce test? merci de me guider
merci d'avance pour la réponse smile

Dernière modification par keokaz (30-07-2011 23:16:22)

Hors ligne

 

#2 29-07-2011 08:54:12

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [resolut]Comment lire une table avec un autre modèle ??

Tu as du te tromper dans tes copier/coller car les deux codes sont identique ^^

Hors ligne

 

#3 29-07-2011 16:11:49

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [resolut]Comment lire une table avec un autre modèle ??

merci de ton aide, j'ai finalement laisser tomber j'ai fusionner mes 2 tables, il faut que je me concentre sur doctrine.

Hors ligne

 

#4 30-07-2011 22:52:48

Ender
Membre
Date d'inscription: 01-09-2009
Messages: 52

Re: [resolut]Comment lire une table avec un autre modèle ??

Doctrine 1 ou 2 ?

Hors ligne

 

#5 30-07-2011 23:15:48

keokaz
Membre
Date d'inscription: 06-07-2011
Messages: 113

Re: [resolut]Comment lire une table avec un autre modèle ??

pour ce projet je vais fusionner juste mes 2 tables sans utliser doctrine, c'est la prochaine fois que j'utiliserai doctrine, par contre je crois que c'est le 2 ? j'avais déjà étudier sur symfony.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages