2011-08-09 18 views
0

私はユーザーモデルと注文モデルを持っています。ユーザーhasManyオーダー。関連するモデル列をvirtualFieldsに使用しますか?

ordersテーブルには、user_idカラムとtotalカラムがあります。

ユーザモデルにvirtulFieldがあります。これは、そのユーザに関連付けられている注文の数です。

私はまた、すべての合計の合計であるユーザー上にvirtualFieldを持っていたいと思います。私はこれが最善の解決策は、しかしであるより良い方法があるかどうかわからない

public $virtualFields = array(
    'total_orders' => '(SELECT COUNT(orders.user_id) FROM orders WHERE orders.user_id = User.id AND orders.status != "void" GROUP BY orders.user_id)', 
    'total_sales' => '(SELECT SUM(orders.total) FROM orders WHERE orders.user_id = User.id AND orders.status != "void" GROUP BY orders.user_id)', 
); 

私は仕事にこれを取得することができた唯一の方法はとても似ているのですか?全順序のための

答えて

関連する問題