Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ztalker
цитировать
Зарегистрирован: 06 Ноя 2007 14:00:26 Сообщения: 26 Откуда: Новосибирск
|
Добавлено: 14 Фев 2008 13:18:11 Заголовок сообщения: group by |
|
|
Вопрос может очень и простой, но очень важный, для оптимизации многих процессов!
Как в методе findAll делать группировку, чтобы в запросе было "GROUP BY" ? _________________ На работу в Новосибирске требуется PHP программист, со знанием CakePHP. Пишите в личку. |
|
Вернуться к началу |
|
|
Trk
цитировать
Зарегистрирован: 24 Янв 2008 17:41:58 Сообщения: 5
|
Добавлено: 14 Фев 2008 17:58:35 Заголовок сообщения: |
|
|
Как то так должно работать:
Код: |
$conditions = array(
'Post.date' => '> ' . date('Y-m-d', strtotime("-2 weeks")),
'1=1 GROUP BY Post.title'
);
$posts = findAll($conditions); |
|
|
Вернуться к началу |
|
|
ztalker
цитировать
Зарегистрирован: 06 Ноя 2007 14:00:26 Сообщения: 26 Откуда: Новосибирск
|
Добавлено: 14 Фев 2008 19:17:27 Заголовок сообщения: |
|
|
этож путь в обход
а предусмотренных в cakePHP способов нет? _________________ На работу в Новосибирске требуется PHP программист, со знанием CakePHP. Пишите в личку. |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 14 Фев 2008 19:57:10 Заголовок сообщения: |
|
|
жесть
http://api.cakephp.org/1.2/class_model.html#63ade7d3c6d03c83ab53a224e23ad9dd
см. третий параметр |
|
Вернуться к началу |
|
|
Trk
цитировать
Зарегистрирован: 24 Янв 2008 17:41:58 Сообщения: 5
|
Добавлено: 14 Фев 2008 20:46:08 Заголовок сообщения: |
|
|
KPOTOB, $order? не думаю что он тут поможет
Я тоже когда искал, только это и нашел. Ну или $this->[model]->query() использовать. Или я плохо искал.. |
|
Вернуться к началу |
|
|
mikkola
цитировать
Зарегистрирован: 15 Фев 2008 06:50:07 Сообщения: 1
|
Добавлено: 15 Фев 2008 06:56:05 Заголовок сообщения: |
|
|
вот еще способ (не самый лучший, конечно):
1. Полная выборка с помощью find('all')
2. используем Set::combine() http://api.cakephp.org/1.2/class_set.html#80506e373d04c93eb4dc1582d8e5c09c
$path формируется аналогично generateList() |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 15 Фев 2008 11:35:52 Заголовок сообщения: |
|
|
Trk
Да блин потерялся с недосыпа - тогда первый )))
кусок с гуглогруп
----
Here's a working example:
$this->Blog->bindModel(array('hasOne'=>array('Dummy'=>array('className'=>'Comment','foreignKey'=>'foreign_id'))));
$this->data = $this->Blog->FindAll('`Dummy`.`class`=\'blog\' GROUP BY
`Blog`.`id`',array('id','title','status','created','COUNT(`Dummy`.`id`)
AS comment_count'),$order, $limit, $page,0); |
|
Вернуться к началу |
|
|
DeeperMD
цитировать
Зарегистрирован: 08 Фев 2008 15:04:11 Сообщения: 144 Откуда: $Молдова->Кишинёв->Буюканы()
|
Добавлено: 15 Фев 2008 18:10:33 Заголовок сообщения: |
|
|
А почему не сделать так?
->findAll("ORDER BY id");
у меня вроде получалось... |
|
Вернуться к началу |
|
|
|