2012-02-27 13 views
3

私はMySQLでこのようなクエリを持つようにしたい:mytableはGROUPBY斧組合からbar_sum選択斧、AY、a.bar、合計としてdoctrine query symfony 1.4でunionを使用するには?

選択斧、AY、a.foo、合計(a.bar) (a.foo)をfoo_sumとしてmytableからgroupby ay

この形式は本当ですか?私はそれをsymfonyの教義クエリにどのように変換できますか?

おかげでたくさん

答えて

6

私はUNIONがDQL (doctrine query language)を使用してサポートされていないと信じています。しかし、厄介なものを使用して誰かがこの問題を回避できるように見えます。heredoc

または、オブジェクトのピアクラスにカスタムメソッドを追加して、ネイティブSQLにクエリを書き込むこともできます。

- 編集 -

例(未テスト)として、以下を使用します。

// Assuming you have the default doctrine setup, where non-object classes are 
// appended with Table (your object being Foo) 
class FooTable 
{ 
    public static function getFooBarUnion() 
    { 
     $sql = "select a.x, a.y, a.foo, sum(a.bar) as bar_sum from mytable a groupby a.x union select a.x, a.y, a.bar, sum(a.foo) as foo_sum from mytable a groupby a.y"; 

     $results = Doctrine_Query::create()->query($sql); 

     return $results; 
    } 
} 
+0

は、私は前にそれを試してみましたが、それは助けをdosent、ありがとうございました。 – samra

+0

これまでに何を試しましたか? –

+0

あなたのリンクを試してみましたが、カスタムメソッドを追加する方法についてはわかりません。 – samra

関連する問題