我想在运行查询之前确定东京内阁表上的查询将返回的记录数。我使用 rufus-tokyo Ruby gem 作为我的界面。做这个的最好方式是什么?
问问题
111 次
1 回答
1
仔细查看github上的代码,我想我找到了答案。它将使用返回记录计数的 db#query_count 方法。下面是一个使用 query_count 对记录进行分页的示例:
db = Rufus::Tokyo::Table.new(@file)
begin
# Need to find the total number of records that would be returned.
# could use db#size, except that our query filters out records after today.
total_count = db.query_count { |q|
q.add_condition 'date', :numle, @today
q.order_by 'date', :strdesc
}
pager = IndexCards::Pager.new requested_page_num, total_count
# Now let's pull the slice that we want.
results = db.query { |q|
q.add_condition 'date', :numle, @today
q.order_by 'date', :strdesc
q.limit(pager.limit, pager.offset)
}
ensure
db.close
end
于 2010-02-21T19:15:00.083 回答