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 ;

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 ;

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' )
                                                );
}

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
        }
    }
}

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
        }
    }
}

ici cela ne fonctionne pas sad

Code:

An error occurred
Application error

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