1

Zend Frameworkがどのように機能するかを理解しようとしています。モデルはこのようなことを行うように設計されていますか?基本的なセットアップしかないので、コントローラーで次のようなものを使用できます。

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

これをコントローラーで使用する方法の例も教えてください。

class Country extends Zend_Db_Table
{

    protected $_name = 'country';

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

}

よろしくお願いします!

4

2 に答える 2

3

衒学者の用語: Zend_Db_Tableデータベーステーブルを表すクラスです。これは、MVCの意味でのモデルと同じもので はありません。

私はコンポーネントのドキュメントをたくさん書きましたが、Zend_Dbテーブルとモデルを同義語として扱った場所はどこにもありませんでした(多くのフレームワークのように)。

このテーマについて私が書いたブログも参照してください。

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

于 2009-06-25T19:45:44.110 に答える
2

Zendモデルは、テーブルにリンクするように設計されており、テーブルを操作するのに役立ちます。

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

マニュアルの詳細

于 2009-06-24T16:33:17.543 に答える