开发者

How to fetch a Zend model using a field

开发者 https://www.devze.com 2023-01-05 18:29 出处:网络
I have a database table that looks like this: CREATE TABLE IF NOT EXISTS `articles` ( `id` int(11) NOT NULL AUTO_INCREMENT,

I have a database table that looks like this:

  CREATE TABLE IF NOT EXISTS `articles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `texte` varchar(255) NOT NULL,  
  `rubrique` varchar(255) NOT NULL,
  PRIMARY KEY (id)
);

Which is PDO mapped like this:

class Application_Model_DbTable_Articles extends Zend_Db_Table_Abstract
{
    protected $_name = 'articles';

   //this is where I have a problem 
   public function getArticleByRubrique($rubrique) 
    {        
        $row = $this->fetchRow('rubrique = ' . $rubrique);    
        return $row->toArray();    
    }  

}

In my view I want to fetch the articles that have field rubrique == "clu开发者_运维知识库b" :

To fetch all the items, this code works fine using fetchAll():

$articles = new Application_Model_DbTable_Articles();
        $this->view->articles = $articles->fetchAll();

But when I do it with getArticleByRubrique() I get this error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'club' in 'where clause'


You can still use fetchAll() to do the job, without needing to write a method just to do that:

In the controller's action:

$articles = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');
0

精彩评论

暂无评论...
验证码 换一张
取 消