2010-07-14 32 views
1

例如,我想知道用户有多少帖子。所以,我这样做,如何计算对象编号而不是在Ruby中获取所有对象?

user.posts.length 

它的工作原理,但是当我看到服务器日志,它表明我说:

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

实际上,我只需要知道的岗位数,我该怎么办呢?谢谢。

回答

3
user.posts.count 

# This will generate this: 
SELECT count(*) AS count_all FROM `posts` WHERE (`posts`.user_id = 1) 
1

试试这个:

user.posts.count 
0

您可以使用计数/尺寸方法,而不是长度:

user.posts.count 

将执行类似的查询:

SELECT COUNT(*) AS count_id FROM "posts" WHERE ("posts".user_id = 6) 
相关问题