CFWheels - Как выделить какие посты прокомментировал пользователь?
У меня есть базовый запрос, чтобы получить все "сообщения" в моей таблице базы данных "сообщения". Пользователи, которые вошли в систему, могут комментировать эти сообщения. Тем не менее, я хочу иметь возможность выделить (при просмотре всех сообщений), какие из них пользователь прокомментировал ранее.
Мой запрос на данный момент выглядит так:
<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") />
Могу ли я использовать это в моем запросе?
Есть идеи?
Спасибо, Майки.