2013-09-28 3 views
0

Это простая проблема с запросом. Но мне кажется, что я не могу получить его прямо :( я только начал использовать CakePHP на прошлой неделе я до сих пор играю изучения Во всяком случае, вот моя проблемаНайти Count Distinct в CakePHP

Это соотношение в модели:... продукта имеет много Штока Stock относится к продукту

Это образец STOCKS таблица:...

 

ID | Product Name | Transaction 
------------------------------------ 
1 | Astringent | Purchase 
2 | Glutathione | Sales 
3 | Glutathione | Sales 

Я хотел бы получить количество транзакций в продукт из таблицы ЗАПАСОВ

Это выход я хотел бы с отчетливым название продукта:

 

Transaction | Astringent | Glutathione 
-------------------------------------------- 
purchase  | 1   | 0 
sales   | 0   | 2 

ответ

0

Вот SQL query- для точно то, что вы просили.

SELECT transaction, 
SUM(
CASE 
    WHEN product_name = 'Astringent' THEN 1 
    ELSE 0 
END) AS 'Astringent', 
SUM(
CASE 
    WHEN product_name = 'Glutathione' THEN 1 
    ELSE 0 
END) AS 'Glutathione' 
FROM stock 
GROUP BY transaction; 

Тем не менее, вы ищете поворотный стол т.е., выход с переменным числом столбцов на основе случайного числа продуктов? Если это так, ваше решение намного сложнее в качестве MySQL-запроса и потенциально менее сложно как решение MySQL и PHP. В любом случае, я думаю, вы должны поделиться большей частью своей схемы базы данных/модели CakePHP вместе с некоторой информацией о контроллере. Для того, чтобы сделать представление с этой таблицей, не слишком сложно, если вы хотите, чтобы Cakephp выводил этот формат.