Bonjour,
Je viens de me mettre à ZF et je mouline dur, j'ai lu la quasi-totalité des tutos disponibles sur le Web mais je doi savouer que j'ai du mal à assimiler la façon de programmer qui me change bcp de ma façon habituelle.
Bref, étant persuader que l'apprentissage de ZF va m'aider à "mieux" programmer, j'ai décidé de créer une petite application pour mettre en pratique les connaissances acquises avec les tutos en ligne.
Mais voila que je bloque sur mon premier gros problème que voici :
Je voudrais mettre en place une simple appli d'actualité et de commentaires, la base de données est en place, les tables et les données aussi, je souhaite simple afficher les infos de la bdd.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
class NewsController extends Zend_Controller_Action
{
function init()
{
$this->view->baseUrl = $this->_request->getBaseUrl();
Zend_Loader::loadClass('News');
}
function indexAction()
{
$news = new News();
$this->view->news = $news->fetchAll();
}
function viewAction()
{
$news = new News();
$news->select()
->from(array('a' => 'actualite'), array('titre', 'message'))
->joinLeft(array('c' => 'actu_cat'), 'c.id = a.actu_cat', 'nom')
->where('a.id = 1');
$this->view->news = $news->fetchRow();
}
} |
La vue est la suivante :
1 2 3 4 5 6
|
<?php echo $this->render('header.phtml'); ?>
<h1><?php echo $this->escape($this->news->titre); ?></h1>
<p><?php echo $this->escape($this->news->nom); ?></p>
<p><?php echo $this->escape($this->news->message); ?></p>
<?php echo $this->render('footer.phtml'); ?> |
J'ai donc une class News, la fonction index permettant d'afficher la liste des actualités fonctionne parfaitement, mais la fonction view me sort l'erreur suivante :
Fatal error: Uncaught exception 'Zend_Db_Table_Row_Exception' with message 'Specified column "nom" is not in the row'
Lorsque je supprime la ligne :
<p><?php echo $this->escape($this->news->nom); ?></p>
de la vue, j'ai bien le titre et le message de l'actualité qui s'affiche.
Je penche donc vers un problème dans la jointure entre la table actualite et la table commentaire mais je ne trouve pas la solution.
Merci bcp pour votre aide.
Bobtop
Partager