Zend Framework Models - PullRequest
       13

Zend Framework Models

1 голос
/ 24 июня 2009

Я пытаюсь понять, как работает Zend Framework. Модели, разработанные для чего-то подобного? У меня есть только базовая настройка, поэтому я могу использовать в своих контроллерах что-то вроде этого:

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

Не могли бы вы также привести пример использования этого на контроллере?

class Country extends Zend_Db_Table
{

    protected $_name = 'country';

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

}

С наилучшими пожеланиями!

Ответы [ 2 ]

3 голосов
/ 25 июня 2009

Педантическая терминология: Zend_Db_Table - это класс для представления таблиц базы данных. Это не то же самое, что Модель в смысле MVC.

Я написал много документации для компонентов Zend_Db, и нигде не трактовал таблицы и модели как синонимы (как это делают многие фреймворки).

Также посмотрите блог, который я написал на эту тему:

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

2 голосов
/ 24 июня 2009

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

больше информации в руководстве

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...