Как посчитать номер объекта вместо получения всего объекта в Ruby? - PullRequest
1 голос
/ 14 июля 2010

Например, я хочу знать, сколько сообщений у пользователя.Итак, я делаю это следующим образом:

user.posts.length

Это работает, но когда я вижу журнал сервера, он показывает мне, что:

SELECT * FROM "posts" WHERE ("posts".user_id = 6) 

на самом деле мне нужно знатьтолько номер сообщения, как я могу это сделать?Спасибо.

Ответы [ 3 ]

3 голосов
/ 14 июля 2010
user.posts.count

# This will generate this:
SELECT count(*) AS count_all FROM `posts` WHERE (`posts`.user_id = 1) 
1 голос
/ 14 июля 2010

попробуйте это:

 user.posts.count
0 голосов
/ 14 июля 2010

Вы можете использовать метод подсчета / размера вместо длины:

user.posts.count

Он выполнит запрос, подобный:

SELECT COUNT(*) AS count_id FROM "posts" WHERE ("posts".user_id = 6) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...