看看這段代碼:Zend框架的查詢問題
$sql = $this->getAdapter()->select()
->from(array('mab' => 'module_adv_banner'))
->joinLeft(array('mafb' => 'module_adv_filebanner'),'mab.id = mafb.id_banner',array('source','type'))
->joinLeft(array('macb' => 'module_adv_contentbanner'),'mab.id = macb.id_banner',array('content','type'))
->where('mab.id = ?', $this->_id)
->order('position asc');
在此查詢我用3個表。首先用'mab'
別名 - 是主要的橫幅表。另外兩個表格'mafb'
和'macb'
是不同橫幅類型的特定表格。如果橫幅是圖片或swf,則存儲在'mafb'表中,如果是橫幅廣告線路,我使用另一個表格 - 'macb'
在此查詢中,我選擇所有必需的橫幅元素。 兩個特定表中只有一個具有id_banner = mab.id = $this->_id,
的行,並且每個表都具有字段「type」。如果它在第一個表中找到此行,則'type'的值爲空,因爲它被第二個表'type'值覆蓋。我該如何解決這個問題?
Ahmed,謝謝。
p.s. 抱歉,如果我的解釋很難,我沒有很好的英語知識。
$此 - > _ ID是不是值(所以你不能 - >在哪裏( 'mab.id =?',$這 - > _ ID) ), 是嗎 ? – 2012-02-29 20:17:10
不,它有價值,這是分配給$ this - > _ id在__construct() – Ahmed 2012-03-01 16:17:57