2009-06-24 3 views
1

Ich versuche zu verstehen, wie das Zend Framework works.Are die Modelle entworfen, so etwas zu tun, ich habe nur eine Grundeinstellung, so kann ich in meinen Controller etwas wie folgt verwenden:Zend Framework Modelle

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

Können Sie mir auch ein Beispiel geben, wie man dies auf einem Controller verwendet?

class Country extends Zend_Db_Table 
{ 

    protected $_name = 'country'; 

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

} 

Mit freundlichen Grüßen!

Antwort

2

Zend Models sind dazu gedacht, mit einer Tabelle verknüpft zu werden und Ihnen bei der Interaktion mit einer Tabelle zu helfen.

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

weitere Informationen in der manual

3

Pedantic Terminologie: Zend_Db_Table ist eine Klasse von Datenbanktabellen zu repräsentieren. Dies ist nicht das gleiche wie ein Modell im MVC Sinn.

Ich schrieb eine Menge der Dokumentation für die Zend_Db Komponenten, und nirgendwo behandelte ich Tabellen und Modelle als Synonyme (wie viele Frameworks).

sehen auch einen Blog ich zu diesem Thema geschrieben:

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