繁体   English   中英

我可以对Ruby DBF gem使用限额,订单或日期查询吗?

[英]Can I use limits, orders or date queries with the Ruby DBF gem?

我指的是这个宝石: https : //github.com/infused/dbf

我已阅读自述文件并已通过API文档进行了扫描。 感觉我应该能够在DBF表上使用ActiveRecord样式查询,但它看起来并不像它。

我希望以某种方式获取最后的X条记录,按日期查询或按顺序使用,以帮助您将DBF文件同步到另一个数据库,而不必经历所有操作

唯一的例子似乎是简单的“发现”,我无法进行任何比较或以其他方式工作:

widgets.find :first, :slot_number => 's42'

有谁知道如何做到这一点? (另一个宝石/技术也是合理的建议)。

虽然您不能使用ActiveRecord样式查询,但DBF :: Table是Enumerable ,因此您可以利用任何可枚举的方法来完成大部分所需的工作。

例如,假设您只需要在2005年1月1日至2005年7月15日之间创建的窗口小部件。 我们还假设小部件表具有created_date列。 您可以执行以下操作:

range = (Date.new(2005,1,1)..Date.new(2005,7,15))
widgets.select { |w| range.includes?(w.created_date) }

或按大小列对所有小部件进行排序:

sorted_widgets = widgets.sort_by { |w| w.size }

如果您的DBF文件不是太大,您也可以将其转换为数组以访问Ruby的所有Array方法。 例如,让我们获取最后10条记录:

widgets.to_a.last(10)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM