基本上我需要使用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
出现在多个表中,因此name
本身不明确,因此响应为null
。我该如何解决这个问题?
我试过了:
$select = Globals::db()->select();
$select -> from("matches", "*, `matches`.`name`")
和
$select = Globals::db()->select();
$select -> from("matches", "*", "`matches`.`name`")
但两者都返回错误(未找到列*和语法错误)。
答案 0 :(得分:1)
尝试
$select -> from("matches", array("*", "name as superName"))
答案 1 :(得分:0)
我认为您需要指定相关名称(别名)matches.*