比如说,我想知道一个用户是否有至少 3 个订单
考虑到订单表相当大,哪个更好?
一种。将结果集的大小限制为 3 并查看大小是否匹配
NO_OF_MATCHES = 3
orders = Order.where('user_id = ?', 1).limit(NO_OF_MATCHES )
return true if orders.size == NO_OF_MATCHES
湾。只需数数并与之进行比较
NO_OF_MATCHES = 3
count = Order.count(:conditions => ['user_id = ?',1])
return true if count >= NO_OF_MATCHES
任何我没有想到的全新方法也将受到欢迎