Php 如何使用字段获取Zend模型
我有一个如下所示的数据库表:Php 如何使用字段获取Zend模型,php,zend-framework,Php,Zend Framework,我有一个如下所示的数据库表: 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) ); class Application_Model_DbTable_Articles extends Zend_Db_Ta
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)
);
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 = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');
哪个PDO映射如下:
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)
);
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 = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');
在我看来,我想获取包含字段rubrique==“club”
的文章:
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)
);
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 = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');
要获取所有项目,此代码可以使用fetchAll()
:
但是当我使用getArticleByRubrique()
执行此操作时,会出现以下错误:
SQLSTATE[42S22]:未找到列:
1054“where”中的未知栏“club”
条款'
您仍然可以使用
fetchAll()
来完成此项工作,而无需编写方法来完成此项工作:
在控制器的操作中:
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)
);
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 = new Application_Model_DbTable_Articles();
$this->view->articles = $articles->fetchAll('rubrique = "club"');