ruby-on-rails - 即使结果行为零,是否可以从关系中获取列名?
问题描述
在 Rails 中,使用 ActiveRecord 来查询数据库。ActiveRecord 的查询产生一个 ActiveRecord::Relation 对象。由于我们可以执行ActiveRecord::Relation#select
和指定任意的 SQL 选择子句,有时数据库返回的记录包含数据库中不存在的列。
如果该关系包含多于一行,则可以使用 获取该关系的列名the_relation.first.attributes
。但是,当查询未返回任何记录时,此方法是不可能的。
问题
ActiveRecord::Relation
即使没有返回行,是否有任何方法可以获取查询的结果列名?
动机
例如,当您构建Daru::DataFrame
实例或其他一些关系数据时,即使结果中没有记录,您也希望获取属性名称。
解决方案
是的,您可以获得列名
如果结果是 ActiveRecord::Relation 那么你可以使用这样的东西
the_relation.column_names
推荐阅读
- html - 将 chrome 缩放到 125 或其他比例时,图标对齐不好?
- css - 如何为每个网格元素指定不同的大小并保持环绕?
- excel - 添加新数据后无法通过 VBA 替换 XML 命名空间
- scala - Spark MapGroupsWithState 更新功能不允许过滤、计数、显示等操作查询
- amazon-web-services - 更改 Amazon Connect 录音的音频格式
- angular - 如何使 close() 动态?
- c# - 逗号作为小数分隔符空格作为千位分隔符C#
- javascript - 如何将具有给定名称标签的元素保留在数组中?
- c# - Unity - Prefab GUID 和 GetCorrespondingObjectFromOriginalSource
- git - 如何诊断 Gitlab 连接