gpt4 book ai didi

mysql - 将两列的值提取到单个哈希变量中

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:41 25 4
gpt4 key购买 nike

在 Ruby on Rails 中,我试图从 Rails 中的 user_id 和 id 列获取值。现在我使用以下代码连接两列名字和姓氏

@profiles = Profile.all.map{|p| "#{p.users_firstname} #{p.users_lastname}"}

相反,我必须将列添加为两个条目。请帮忙。提前致谢

更新

我想得到这样的值

@profile = ['user1_firstname', 'user1_lastname', 'user2_firstname', 'user2_lastname',...]

最佳答案

您当前的代码将产生如下内容:

@profiles = [ 'Edie Pineo', 'Tierra Cardiel', 'Sparkle Berrey' ]

你在问:

Instead I have to add the columns as two entries

所以,如果我理解正确,你想要的是:

@profiles = [ ['Edie', 'Pineo'], ['Tierra', 'Cardiel'], ['Sparkle', 'Berrey'] ]

...这是一个字符串数组的数组,而不是您当前的代码,它是一个字符串数组。

如果是这样,解决方法如下:

@profiles = Profile.all.map{|p| [p.users_firstname, p.users_lastname] }

更新 1(唯一值):

@profiles = Profile.pluck(:users_firstname, :users_lastname).uniq

更新 2(唯一值 + 忽略尾随和前导空格):

@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:strip) }.uniq

更新 3(唯一值 + 忽略字符串和整数的严格相等性)

# if you want string values
@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:to_s) }.uniq

# if you want integer values
@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:to_i) }.uniq

更新 4(1 级数组而不是嵌套数组)

...继续我们的 discussion并回答您的更新问题

@profiles = Profile.pluck(:users_firstname, :users_lastname).flatten

- 测试工作

关于mysql - 将两列的值提取到单个哈希变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042714/

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