假设我有一个数据库表上传,其中包含 id,user_id,upload,createdDate 以及反映用户表的实体类。
然后我有一个类似的查询。
SELECT u.id,
u.name,
u.createdDate,
u.user_id,
(SELECT COUNT(*)
FROM uploads
WHERE user_id in
(SELECT id from uploads
WHERE user_id = :id)
AND createdDate BETWEEN date_sub(NOW(),interval 1 day)
AND date_sub(NOW(),interval 0 day)) as countLastDayUploads
FROM uploads as u
WHERE u.user_id = :id
这会返回一个额外的值 countLastDayUploads ,这不会反映在架构中。 这里有两个问题。 应该将countLastDayUploads存储在没有注释的上传实体类中吗?我想是的......
其次,我将如何使用Symfony2 doctrine查询构建器编写此查询。
答案 0 :(得分:0)
SELECT u.id,
u.name,
u.createdDate,
u.user_id,
count(*) as count
FROM uploads as u
WHERE
u.user_id = :id
AND
createdDate > (NOW() - INTERVAL 1 DAY)
GROUP BY u.user_id
如果我理解你 - 这个代码必须工作五个
和
id
,user_id
,upload
,createdDate
- 错误的名称
id
,userId
,upload
,createdDate
- 更好,但错误
id
,user_id
,upload
,created_date
- 好
这是mysql标准。
答案 1 :(得分:0)
您应该将其添加到实体中,而不显示注释。该学说应该将结果映射到对象。