gpt4 book ai didi

arrays - 从数据库列创建数组的最快方法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 08:26:39 26 4
gpt4 key购买 nike

我需要将 ActiveRecord 模型的数据库列的所有元素放入一个数组中。我这样做:

code_array = []
Language.all.each do |lang|
code_array<<lang.code
end

=> ["af", "sq", "ar", "hy", "az", "eu", "be", "bn", "bs", "bg", "ca", "ceb", "ny", "zh-CN", "zh-TW", "hr", "cs", "da", "nl", "en", "eo", "et", "tl", "fi", "fr", "gl", "ka", "de", "el", "gu", "ht", "ha", "iw", "hi", "hmn", "hu", "is", "ig", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "ko", "lo", "la", "lv", "lt", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "my", "ne", "no", "fa", "pl", "pt", "ma", "ro", "ru", "sr", "st", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "te", "th", "tr", "uk", "ur", "uz", "vi", "cy", "yi", "yo", "zu"]

但这一定可以通过更优雅和/或更少的代码实现吗?

最佳答案

您要找的方法是pluck

Language.pluck(:code)

顺便说一句,即使您不使用 pluck,您也可以通过更改以下内容来显着改进您的代码:

code_array = []
Language.all.each do |lang|
code_array<<lang.code
end

Language.all.map(&:code)

您的代码迭代所有结果,获取字段 code 并将其推送到数组,然后移动到下一个元素。将函数映射到集合或数组通常更有效。

关于arrays - 从数据库列创建数组的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333080/

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