我有一个基本的查询来获取数据库表“帖子”中的所有“帖子”。登录的用户可以对这些帖子发表评论。但是,我希望能够突出显示(在查看所有帖子时)用户之前评论过的内容。
我此刻的查询如下:
<cfset posts = model("post").findAll(
select = "
posts.postID,
postTitle,
postPoints,
postAuthority,
postCreated,
postDescription,
postCommentCount,
postUpVoteCount,
postDownVoteCount,
users.userID,
userName,
categories.categoryID,
categoryTitle,
categoryToken",
include = "user,category",
order = "postPoints DESC",
page = params.page,
perPage = params.pageQuantity
) />
我收到所有帖子并加入创建帖子的用户以及类别信息等。
如何修改此功能,以便在用户登录后,他们能够看到他们已经评论了哪些帖子?用户发表的评论数量并不重要,只要用户完全评论过。
我不想在每个帖子上运行查询来检查这个。理想情况下,将查询加入此查询是很好的。
除此之外,我在帖子模型中有3个查询:
<cfset property(name="postUpVoteCount", sql="SELECT COUNT(*) FROM votes WHERE votes.postID = posts.postID AND votes.voteType = 1") />
<cfset property(name="postDownVoteCount", sql="SELECT COUNT(*) FROM votes WHERE votes.postID = posts.postID AND votes.voteType = 0") />
<cfset property(name="postCommentCount", sql="SELECT COUNT(*) FROM comments WHERE comments.postID = posts.postID AND comments.commentRemoved = 0") />
我可以在查询中使用它吗?
有什么想法吗?
谢谢, MIKEY。