2016-04-30 78 views
0

我對zend framework 2很新,我一直在閱讀文檔並儘可能吸收它。Zend骨架教程

我正在通過zend skeleton tutorial及其所有工作,但有一點我不明白。

在相冊控制器中,您被指示撥打表格網關來選擇所有記錄 - 特別是$ this-> getAlbumTable() - > fetchAll()。但是被調用的方法不是我創建的方法,所以有人可以解釋如何解決getAlbumTable的問題。我本來希望以與調用可調用工廠或工廠相同的方式調用serviceManager,即$ sm-> get('AlbumTableGateway')

欣賞您可以給ZF2新手的任何建議。

class AlbumController extends AbstractActionController 
{ 

    protected $albumTable; 


    public function indexAction() 
    { 
     return new ViewModel(array(
      'albums' => $this->getAlbumTable()->fetchAll(), 
     )); 
    } 
+0

哪裏是你的「getAlbumTable()」?恕我直言,採埃孚是過度工程。我現在用cakephp贊成zf – Antoniossss

回答

0

您是否跳過步驟? $this->getAlbumTable()(代碼中的控制器丟失)應返回AlbumTable的實例。這個類(你應該已經創建了)有一個fetchAll()方法。

看看你在你的問題聯繫到教程的「模型文件」部分:http://framework.zend.com/manual/current/en/user-guide/database-and-models.html#the-model-files

+0

對不起,也許我沒有很好地解釋我的問題 - 應用程序一切正常。我感到困惑的是你怎麼能打電話像$ this-> getAlbumTable()?它爲什麼不把它叫做$ sm-> get('AlbumTable')? – Drongo

+0

我當時是個白癡。我忽略了發現我已經複製並將另一種方法粘貼到我的控制器中,這允許我獲取albumTable。道歉! – Drongo