Как получить модель Zend, используя поле - PullRequest
3 голосов
/ 02 июля 2010

У меня есть таблица базы данных, которая выглядит следующим образом:

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

Какой PDO отображается следующим образом:

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

}

На мой взгляд, я хочу получить articles с полем rubrique == "club":

Чтобы получить все элементы, этот код работает нормально, используя fetchAll():

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

Но когда я делаю это с getArticleByRubrique(), я получаю эту ошибку:

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестная колонка 'клуб' в 'где пункт '

1 Ответ

2 голосов
/ 02 июля 2010

Вы все еще можете использовать fetchAll() для выполнения работы, без необходимости писать метод просто для этого:

В действии контроллера:

$articles = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...