[英]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.