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が複数のテーブルに表示されるため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 に答える