Mysql 是否为virtualFields使用关联的模型列?
我有一个用户模型和一个订单模型。用户有很多订单 orders表有一个user_id列和一个total列 我希望在用户模型上有一个Mysql 是否为virtualFields使用关联的模型列?,mysql,cakephp,cakephp-1.3,Mysql,Cakephp,Cakephp 1.3,我有一个用户模型和一个订单模型。用户有很多订单 orders表有一个user_id列和一个total列 我希望在用户模型上有一个virtulField,它是与该用户关联的订单数量的计数 我还希望在用户上有一个virtualField,它是所有总数的总和 我唯一能让它工作的方法是: public $virtualFields = array( 'total_orders' => '(SELECT COUNT(orders.user_id) FROM orders WHERE orde
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)',
);
但我不确定这是否是最好的解决方案,是否有更好的方法?对于总订单:使用counterCache和counterScope: 不过,总销售额仍然需要virtualField