Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, J'aimerais retrouver les demandes d'un client.
J'ai lu la documentation concernant les relations entre les tables et en applicant j'ai unE ERREUR:
<?php
class Default_Model_DbTable_Client extends Zend_Db_Table_Abstract
{
protected $_name = 'CLIENT';
protected $_primary = 'Mail';
protected $_dependentTables = array('DEMANDE','TICKET');
}
ma classe models/DbTable/Demande.php:
<?php
class Default_Model_DbTable_Client extends Zend_Db_Table_Abstract
{
protected $_name = 'DEMANDE';
protected $_primary = 'Demande_Id';
protected $_dependentTables = array('TICKET','UTILISATEUR');
protected $_referenceMap = array(
'auteur' => array(
'columns' => 'Auteur',
'refTableClass' => 'CLIENT',
'refColumns' => 'Mail'
),
'validant' => array(
'columns' => 'Validant_Speed',
'refTableClass' => 'UTILISATEUR',
'refColumns' => 'Utilisateur_Id'
));
}
et enfin le code dans mon controleur:
public function indexAction()
{
$utilisateur = new Zend_Session_Namespace('Utilisateur');
$mail= $utilisateur->user->getMail();
$clientTable=new Default_Model_DbTable_Client();
$clientRowset=$clientTable->find($mail);
$client=$clientRowset->current();
$demandes=$client->findDependentRowset('DEMANDE','auteur');
}
et s'en suit un beau plantage dont voici le message:
An error occurred
Application error
Exception information:
Message: File "demande.php" does not exist or class "demande" was not found in the file
Stack trace:
#0 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Db/Table/Row/Abstract.php(866): Zend_Db_Table_Row_Abstract->_getTableFromString('demande')
#1 /home/vincent/sites/gts/application/controllers/DemandeController.php(25): Zend_Db_Table_Row_Abstract->findDependentRowset('demande', 'auteur')
#2 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Controller/Action.php(513): DemandeController->indexAction()
#3 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Controller/Dispatcher/Standard.php(289): Zend_Controller_Action->dispatch('indexAction')
#4 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#5 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Application/Bootstrap/Bootstrap.php(77): Zend_Controller_Front->dispatch()
#6 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Application.php(358): Zend_Application_Bootstrap_Bootstrap->run()
#7 /home/vincent/sites/gts/public/index.php(26): Zend_Application->run()
#8 {main}
Request Parameters:
array (
'controller' => 'demande',
'action' => 'index',
'module' => 'default',
)
Merci pour votre aide.
Dernière modification par enzostar (21-01-2010 09:38:37)
Hors ligne
Tu aurais pas oublié de renommer ta classe Default_Model_DbTable_Client en Default_Model_DbTable_Demande à tout hasard ?
Hors ligne
il faut que je renomme ma classe Default_Model_DbTable_Client en Default_Model_DbTable_Demande ??? Mais du coup j'ai d'autres erreurs quand je fais un new Client()...
Dernière modification par enzostar (22-01-2010 09:04:33)
Hors ligne
enzostar a écrit:
il faut que je renomme ma classe Default_Model_DbTable_Client en Default_Model_DbTable_Demande ??? Mais du coup j'ai d'autres erreurs quand je fais un new Client()...
nom dans le fichier Demande.php la classe n'a pas le bon nom
Hors ligne
Je suis désolé de m'acharner mais je ne comprends pas bien.
voila ma classe Demande.php:
class Default_Model_DbTable_Demande extends Zend_Db_Table_Abstract
{
protected $_name = 'DEMANDE';
protected $_primary = 'Demande_Id';
protected $_dependentTables = array('TICKET','UTILISATEUR');
protected $_referenceMap = array(
'auteur' => array(
'columns' => 'Auteur',
'refTableClass' => 'CLIENT',
'refColumns' => 'Mail'
),
'validant' => array(
'columns' => 'Validant_Speed',
'refTableClass' => 'UTILISATEUR',
'refColumns' => 'Utilisateur_Id'
));
}
voila ma classe Client.php:
class Default_Model_DbTable_Client extends Zend_Db_Table_Abstract
{
protected $_name = 'CLIENT';
protected $_primary = 'Mail';
protected $_dependentTables = array('DEMANDE','TICKET');
}
et dans mon controleur je procède de la sorte:
$utilisateur = new Zend_Session_Namespace('Utilisateur');
$mail= $utilisateur->user->getMail();
$clientTable=new Default_Model_DbTable_Client();
$clientRowset=$clientTable->find($mail);
$client=$clientRowset->current();
$demandes=$client->findDependentRowset("DEMANDE");
et j'ai toujours le message:
File "DEMANDE.php" does not exist or class "DEMANDE" was not found in the file
Hors ligne
essaye ça :
$demandes=$client->findDependentRowset('Default_Model_DbTable_Demande');
Hors ligne
merci mille fois
Hors ligne
Pages: 1