при использовании метода takephp Model-> find(), я хочу сгруппировать результаты по-другому.cakephp - как сгруппировать результаты по-другому?
моя схема:
`id` int(11) NOT NULL AUTO_INCREMENT,
`deviceid` varchar(255) NOT NULL,
`user_id` int(11) NOT NULL,
`sessionid` varchar(255) NOT NULL,
`ip` text NOT NULL,
`image_type` varchar(100) NOT NULL DEFAULT 'invalid_image',
`filename` text NOT NULL,
`analysis_basic` text COMMENT 'output from the image script',
`analysis_admin` text,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `sessionid` (`sessionid`)
в CakePHP я хочу, чтобы получить некоторые вещи, как это:
Array
(
[0] => Array
(
[Picture] => Array
(
[sessionid] => somevalue
)
[0] => Array
(
[id] => 32
[deviceid] => 5124125
[userid] => 4541221
...and all other fileds
)
[1] => Array
(
[id] => 35
[deviceid] => 5124125
[userid] => 4541221
...and all other fileds
)
)
[1] => Array
(
[Picture] => Array
(
[sessionid] => someothervalue
)
[0] => Array
(
[id] => 38
[deviceid] => 5124454
[userid] => 34241
...and all other fileds
)
[1] => Array
(
[id] => 35
[deviceid] => 5124454
[userid] => 34241
...and all other fileds
)
это возможно с помощью CakePHP? Или есть лучший способ добиться чего-то подобного выше? Если бы я мог получить такие результаты, я знаю, что все записи в элементе [0] имеют один и тот же сеанс. Вот почему.
Я не помню торт, имеющий прямую функцию, которая делает то, что вы хотите, вы открыты для решения 'foreach'? –
@SiGanteng да, если у нас нет другого решения. Или вы знаете простой запрос mysql, который генерирует набор результатов - может быть легко преобразован в нечто подобное. – sanandrl
Нет ... 'group by' в mysql - это не объединение различных результатов в массивы, поэтому ya. –