2016-05-02 7 views
0

SELECTSUMをつけようとしていますが、エイリアスに問題があります。ここではCakePHP 3を使用します。私のコントローラでSUM()とCakePHP 3の別名に関する問題

、私が行います

$preparations->find('all', 
       [ 'fields' => ['SUM(Preparations.qty) as sumqty', 'order_id', 'product_id'], 
        'conditions' => ['order_id IN ' => $ids], 
        'contain' => ['Products'], 
        'group' => 'product_id' 
       ]); 

しかし、私はこれを持っているクエリは次のとおりです。

SELECT SUM(Preparations.qty) as sumqty AS SUM(`Preparations__qty`) AS `sumqty`, Preparations.order_id AS `Preparations__order_id`, Preparations.product_id AS `Preparations__product_id` 

SUM()が二度書かれています。どうすればこの問題を解決できますか?

+2

を試してみてください。クエリビルダでSQL関数を使用する方法については、http://book.cakephp.org/3.0/en/orm/query-builder.html#using-sql-functionsを参照してください。 – burzum

答えて

1

は、クエリビルダを使用して、この

'fields' => ['sumqty'=>'SUM(Preparations.qty)', 'order_id', 'product_id'] 
+0

ありがとう!できます。 – BlackAlpha

+0

burzumが既に述べたように、クエリービルダーをさらにうまく使用してください。 – ndm

関連する問題