Doctrine查询按日期分组

时间:2012-03-02 16:41:58

标签: sql zend-framework doctrine

我正在构建一个应用程序,我希望某种类型的通知/日志类型的页面集成在一起,用户可以看到他的活动。该页面需要如下例所示:

Today  
[Username] has done [activity] 13:20  
[Username] has done [activity]  11:27  
[Username] has done [activity]  10:53  

Yesterday   
[Username] has done [activity]  13:20  
[Username] has done [activity]  11:27  
[Username] has done [activity]  10:53  

14 februari  
[Username] has done [activity]  13:20  
[Username] has done [activity]  11:27  
[Username] has done [activity]  10:53  

问题是我完全不知道从哪里开始。我正在考虑某种日志表,然后记录表中发生的所有事情。但是我如何查询以获得上述结果?   我真的需要某人或某事来指引我正确的方向。

1 个答案:

答案 0 :(得分:0)

你正朝着正确的方向前进: 只需创建这样的日志表:

create table log(
id int not null primary key identity(1,1),
userID int not null,
logdate datetime,
activityID int not null)

假设您有一个包含用户的users表和一个包含所有可能活动的Activity表

然后你可以产生你的查询加入3个表:

select * 
from log l 
     join UserTable u on l.userId=u.UserId 
     join ActivityTable a on l.ActivityId=a.ActivityID

然后根据选择

格式化文本