2010-06-03 61 views
0

我在Zend Framework中使用Doctrine。對於我的模型,我使用基類,普通類(擴展基類)和表類。無法通過Zend Framework使用Doctrine來調用模型表類中的方法

在我的表類中,我創建了一個方法,對我的模型中的某個字段的特定值進行記錄查詢。當我嘗試從我的控制器調用此方法時,出現錯誤消息,說:「消息:未知方法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

男人,我很擅長回答我自己的問題。 :)

在教義文檔發現這一點:

爲了定製Doctrine_Table類加載您必須啓用autoload_table_classes像下面做你的bootstrap.php文件屬性。

// boostrap.php 

// ... 
$manager->setAttribute(Doctrine_Core::ATTR_AUTOLOAD_TABLE_CLASSES, true); 
相關問題