Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut à tous !
tout d'abord je suis nouveau dans le monde du php , mais je me suis rapidement lancer dans le ZF pour la realisation d'un projet. Donc soyez indulgent .
Je desire basiquement récupérer des données de ma BDD via l'ORM.
j'ai donc créer un classe metier 'page' dont voici la sommaire trame :
<?php Zend_loader::loadClass("Zend_Db_Table"); class Page extends Zend_Db_Table_Abstract { protected $_name = 'page'; protected $_primary = 'id'; protected $_sequence = true; public function findByName($psName) { $where = $this->getAdapter()->quoteInto('nom = ?',(string)$psName); return $this->fetchRow($where); } }
dans mon controleur je veux juste tester quelque chose du genre :
function init() { $this->moPage = new Page(); $this->moView = Zend_registry::get('view'); } public function indexAction() { $findedPages = $this->moPage->find(1); echo $this->moView->render('scripts/gabarit.php'); }
et la patatra !! j'ai une belle erreur :
Citation:
Call to a member function quoteInto() on a non-object in D:\WWW\...\Zend\Db\Table\Abstract.php on line 628
j'ai donc l'impression qu'il ne veut pas recuperer mon adapter que j'ai pourtant defini dans la page d'index comme ceci :
$dbAdapter = Zend_Db::factory($config->db->adapter , $config->db->config->asArray()); Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
je ne suis pas sur d'etre très clair , mais si quelqu'un avez un piste merci de bien vouloir me sortir de cette galère !!
Dernière modification par kelton (23-05-2007 15:28:43)
Hors ligne
ce qui est bizarre c'est que si je fait :
$oAdapter = $this->moPage->getAdapter(); Zend_Debug::dump($oAdapter, $label='adapter : ', $echo=true);
et bien comme résultat j'ai : NULL
Hors il me semble qu'il devrait me renvoyer un Objet .
Par contre si j'affiche les info de ma table :
$oPage = $this->moPage->info(); Zend_Debug::dump($oPage, $label='page : ', $echo=true);
Voila ce quil me donne en retour
page : array(9) { ["schema"] => string(8) "site-epl" ["name"] => string(4) "page" ["cols"] => array(0){ } ["primary"] => array(1) { [0] => string(2) "id" } ["metadata"] => array(0) { } ["rowClass"] => string(17) "Zend_Db_Table_Row" ["rowsetClass"] => string(20) "Zend_Db_Table_Rowset" ["referenceMap"] => array(0) { } ["dependentTables"] => array(0) { } }
ce qui m'inquete c'est le ["metadata"] => array(0) ;
si ca peut vous donner des indices !!
Hors ligne
Pages: 1