gpt4 book ai didi

ruby-on-rails - 使用 ActiveRecord 获取列名

转载 作者:行者123 更新时间:2023-12-04 05:10:42 25 4
gpt4 key购买 nike

有没有办法用 ActiveRecord 获取实际的列名?

当我使用连接调用 find_by_sql 或 select_all 时,如果有同名的列,第一个将被覆盖:

select locations.*, s3_images.* from locations left join s3_images on s3_images.imageable_id = locations.id and s3_images.imageable_type = 'Location' limit 1

在上面的示例中,我得到以下信息:
#<Location id: 22, name: ... 
>

其中 id 是最后一个 s3_image 的 ID。 select_rows 是唯一按预期工作的东西:
Model.connection.select_rows("SELECT id,name FROM users") => [["1","amy"],["2","bob"],["3","cam"]]

我需要获取上面行的字段名称。
这篇文章接近我想要的但看起来已经过时了(fetch_fields 似乎不再存在 How do you get the rows and the columns in the result of a query with ActiveRecord?)

ActiveRecord 连接方法创建多个对象。我试图达到相同的结果“包含”会返回但带有左连接。

我试图返回大量结果(有时是整个表),这就是为什么包含不适合我的需要。

最佳答案

Active Record 提供了一个 #column_names返回列名数组的方法。

用法示例:User.column_names

关于ruby-on-rails - 使用 ActiveRecord 获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com