2009-06-24 136 views
1

我想了解Zend框架works.Are专门做这样的事情的模型我只是一个基本的设置,所以我可以在我的控制器是这样使用:Zend框架模型

$db->query($this->selectAll()) 

你也可以给我一个关于如何在控制器上使用它的例子吗?

class Country extends Zend_Db_Table 
{ 

    protected $_name = 'country'; 

    public function selectAll() 
    { 
     return 'SELECT * FROM'.$this->_name.''; 
    } 

} 

最好的问候!

回答

2

Zend Models被设计为链接到一个表,并帮助您与表交互。

class BugsProducts extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'bugs_products'; 
    protected $_primary = array('bug_id', 'product_id'); 
} 

$table = new BugsProducts(); 

$rows = $table->fetchAll('bug_status = "NEW"', 'bug_id ASC', 10, 0); 
$rows = $table->fetchAll($table->select()->where('bug_status = ?', 'NEW') 
             ->order('bug_id ASC') 
             ->limit(10, 0)); 

// Fetching a single row 
$row = $table->fetchRow('bug_status = "NEW"', 'bug_id ASC'); 
$row = $table->fetchRow($table->select()->where('bug_status = ?', 'NEW') 
             ->order('bug_id ASC')); 

更详细的信息在manual

3

迂腐术语:Zend_Db_Table是表示数据库表的类。这是而不是与MVC意义上的模型相同。

我写了很多关于Zend_Db组件的文档,并且我没有将表和模型看作同义词(就像很多框架一样)。

也看到了博客,我在这个问题上写道:

http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html