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") />

Могу ли я использовать это в моем запросе?

Есть идеи?

Спасибо, Майки.

0 ответов

Другие вопросы по тегам