2

基本上我需要使用以下方法进行此查询Zend_Db_Select

SELECT *, `matches`.`name` AS superName, `dimension`.`name` AS someName 
FROM `matches`
JOIN `dimension` ON [whatever condition]
-- etc, etc.

做连接,剩下的很容易,最终会变成这样:

$select = Globals::db()->select();
$select -> from("matches")
        -> join("dimension", "`matches`.`idDimension` = `dimension`.`idDimension`")
        -> join("accounts", "`accounts`.idAccount = `matches`.idOwner");        
     // -> etc, etc

return Globals::db()->fetchAll($select);

问题是该列出name现在超过 1 个表中,因此name其本身是模棱两可的,因此响应为null. 我该如何解决?

我试过了:

$select = Globals::db()->select();
$select -> from("matches", "*, `matches`.`name`")

$select = Globals::db()->select();
$select -> from("matches", "*", "`matches`.`name`")

但两者都返回错误(未找到列 * 和语法错误)。

4

2 回答 2

1

尝试

$select -> from("matches", array("*", "name as superName"))
于 2012-09-10T15:21:18.827 回答
0

我认为您需要指定一个相关名称(别名)matches.*

于 2012-09-10T14:34:37.837 回答