Ich habe ein Verkaufsmodell, mit einem Salesitems verwandten Modell, das Verkaufsmodell hat einige Modifikatoren, dh Rabatt.Verkaufswerte nach Tag in CakePHP/Mysql
var $virtualFields = array(
'total' => '@vad:=(SELECT COALESCE(SUM(price*quantity), 0) FROM saleitems WHERE saleitems.sale_id = Sale.id)',
'paid' => '@pad:=(SELECT COALESCE(SUM(amount), 0) FROM payments WHERE payments.sale_id = Sale.id)',
'discountamount' => '@dis:=(SELECT COALESCE(SUM(price*quantity), 0) FROM saleitems WHERE saleitems.sale_id = Sale.id)*(0.01 * Sale.discount)',
'saleamount' => '@vad - @dis',
);
die alle gut zu funktionieren scheint:
Um Verkaufssummen zu bekommen, ich habe dies getan. Jedoch, wenn ich etwas berichte und versuche, den Gesamtumsatz pro Tag zu bekommen, bin ich gegen die Grenze der Gehirnkraft gelaufen. Kann mir jemand den richtigen Weg zeigen, dies zu tun? Soll ich sie einfach in PHP aufspielen? oder eine Abfrage ausführen? Oder gibt es eine Möglichkeit, dies mit Kuchens Orm zu tun?
ich die Abfrage Methode versucht,
SELECT
created,
(@vad:=(SELECT COALESCE(SUM(price*quantity), 0) FROM saleitems WHERE `saleitems`.`sale_id` = `Sale`.`id`)) AS `Sale__total`,
(@pad:=(SELECT COALESCE(SUM(amount), 0) FROM payments WHERE `payments`.`sale_id` = `Sale`.`id`)) AS `Sale__paid`,
(@dis:=(SELECT COALESCE(SUM(price*quantity), 0) FROM saleitems WHERE `saleitems`.`sale_id` = `Sale`.`id`)*(0.01 * `Sale`.`discount`)) AS `Sale__discountamount`,
sum(@vad - @dis) AS `Sale__saleamount`
FROM `sales` AS `Sale` WHERE `Sale`.`account_id` = 37 GROUP BY DAY(`Sale`.`created`) order by created
Aber das gibt mir völlig falsche Antworten :(
Dank für jede Führung
wird