Подскажите с такой задачкой: нужно вывести по одной последней фотографии каждого пользователя, есть две таблицы users(id,login) и photos(id,user_id,url,date). sql запрос получается такой:
SELECT * FROM (
SELECT *, DATE_FORMAT(date, "%d.%m.%Y" ) AS date
FROM `photos` `t`
LEFT JOIN `users` `user` ON ( `t`.`user_id` = `user`.`id` )
ORDER BY t.date DESC
) AS p
GROUP BY p.user_id
Не пойму как этот запрос использовать в конструкции типа:
$new_photos = new CActiveDataProvider('Photos',array(
'criteria'=>array(
'select'=>array(*,new CDbExpression('DATE_FORMAT(date,"%d.%m.%Y") as date')),
'condition'=>'type=0',
'order'=>'t.date DESC',
'group'=>'user_id',
'limit'=>5,
'with'=>'user',
'together'=>true,
),
'pagination'=>false,
)
);
В таком виде оно не работает, получается даты и урлы фотографий перемешиваются.
Как быть?