2010-12-19 64 views
1

我試圖加入2個表格(它最終會是4) 但是我每次嘗試結果都是第一個表格中的所有行。加入Zend框架

這是我的代碼

$select = $this->select() 
        ->from('table1') 
        ->join('table2', 'table1.table2_id = table2.table2_id', array('table2.table2_value2')) 
        ->setIntegrityCheck(FALSE); 

因此該查詢會給我從table1.But我需要從表2藏漢某些行的所有行。 我在做什麼錯?

我只是在測試階段,所以不介意表名。 我延長我的模型Zend_Db_Table_Abstract

感謝

回答

1

的第三個參數中加入語句是一個數組,其中列出了從第2表所需的列。嘗試離開它作爲每將默認爲ALL coulmns所述指令:

的第三個參數加入()是一個 陣列的列名,像在從()方法中使用 。它默認爲 「*」,它支持from()方法中列名 的相關名稱, 表達式,以及 中的Zend_Db_Expr。

要從表中選擇沒有列,請使用 列表中的 列的空數組。此用法也適用於()方法中的 ,但通常您的 需要查詢中主要的 表的某些列,而 可能不需要來自聯合的 表的列。

如果您還沒有從第二個表中獲取任何項目,你確定你確定你有在第二表項匹配其中,所以表中的一個具有一排表2中的ID和coulmns表一中和表中的兩個是「table2_id」

表例如,一個結構:

table1_id | user | pass | table2_id | timestamp

表二元結構:

table2_id | name | number | department