0

我是Zend Framework的新手(我也是這個論壇的新成員:D),我發現這個棘手的問題是關於如果你想從3個相關的表中獲取。比方說,如果我有這些SQL查詢:從Zend Framework中獲取2個或更多相關表格的值

SELECT p.painting_id,p.painting_title ,p.painting_filename,a.artist_name,c.pc_name從繪畫P,藝術家 一個,painting_category c其中一個。 artist_id = p.artist_id AND c.pc_id = p.pc_id;

,我想這樣做太:

SELECT p.painting_id,p.painting_title ,p.painting_filename,a.artist_name,c.pc_name從繪畫P,藝術家 一個,painting_category c WHERE a.artist_id = p.artist_id AND c.pc_id = p.pc_id AND p.painting_id = $ p_id;

的情況下,首先,我要顯示所有畫作(與藝術家名稱和類別),然後,當用戶點擊畫,它會去到另一個網頁,只顯示繪畫(與藝術家名稱和類別)。

我已經在模型取得這一進展:

類Application_Model_DbTable_Painting擴展Zend_Db_Table_Abstract {

protected $_name = 'painting'; 
protected $_referenceMap = array(
    'Artist' => array(
     'columns'   => array('artist_id'), 
     'refTableClass'  => 'Artist', 
     'refColumns'  => 'artist_id' 
    ), 
    'PaintingCategory' =>array(
     'columns'   => array('pc_id'), 
     'refTableClass'  => 'PaintingCategory', 
     'refColumns'  => 'pc_id' 
    ) 
    ); 

類Application_Model_DbTable_Artist擴展Zend_Db_Table_Abstract {

protected $_name = 'artist'; 

protected $_dependentTables = 'Model_DbTable_Painting'; 

} 小號

類Application_Model_DbTable_PaintingCategory擴展Zend_Db_Table_Abstract {

protected $_name = 'painting_category'; 

protected $_dependentTables = 'Model_DbTable_Painting'; 

}

我應該添加在模型中什麼樣的功能,我應該怎麼寫在控制器和視圖腳本得到結果,如SQL查詢我上面寫過?告訴我,如果我犯了錯誤。

我真的很感激,如果你會給我一些與我的問題有關的例子。感謝

回答

2

這是一個類似的問題,它可以幫助你:

Zend Framework join

從中

除了直接在Zend框架也write and execute SQL語句可以。

+0

嗨,謝謝!我設法在Zend Framework中直接編寫和執行SQL語句。我最大的錯誤是我忘了將$ this-> escape放到顯示當前繪畫的鏈接上(這導致參數傳遞失敗):))。 – psaka