Не удается вызвать метод в классе таблицы моделей, используя Doctrine с Zend Framework - PullRequest
0 голосов
/ 04 июня 2010

Я использую Doctrine с Zend Framework. Для моей модели я использую базовый класс, обычный класс (который расширяет базовый класс) и табличный класс.

В моем классе таблицы я создал метод, который выполняет запрос для записей с определенным значением для одного из полей в моей модели. Когда я пытаюсь вызвать этот метод из моего контроллера, я получаю сообщение об ошибке «Сообщение: неизвестный метод Doctrine_Table :: getCreditPurchases». Есть ли что-то еще, что мне нужно сделать, чтобы вызвать функции в моем классе таблицы? Вот мой код:

class Model_CreditTable extends Doctrine_Table
{
    /**
     * Returns an instance of this class.
     *
     * @return object Model_CreditTable
     */
    public static function getInstance()
    {
        return Doctrine_Core::getTable('Model_Credit');
    }

    public function getCreditPurchases($id)
    {
        $q = $this->createQuery('c')
            ->where('c.buyer_id = ?', $id);

        return $q->fetchArray();
    }
}

// And then in my controller method I have...
$this->view->credits = Doctrine_Core::getTable('Model_Credit')->getCreditPurchases($ns->id);

1 Ответ

1 голос
/ 04 июня 2010

Человек, я хорошо отвечаю на свои вопросы. :)

Нашел это в Доктрине:

Для загрузки пользовательских классов Doctrine_Table необходимо включить атрибут autoload_table_classes в файле bootstrap.php, как показано ниже.

// boostrap.php

// ...
$manager->setAttribute(Doctrine_Core::ATTR_AUTOLOAD_TABLE_CLASSES, true);
...