2010-12-19 107 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