【问题标题】:Write MySQL2 result to an array in Ruby将 MySQL2 结果写入 Ruby 中的数组
【发布时间】:2017-03-08 21:19:56
【问题描述】:

我想转换这个:

courses = client.query("SELECT LCASE(name) FROM courses")

到一个数组中,这样我就可以轻松地遍历一些现有代码中的元素,非常感谢。

【问题讨论】:

标签: ruby mysql2


【解决方案1】:

如果courses 对象是Mysql2::Result,您已经可以,因为它包含Enumerable 模块。因此,您可以使用模块中的eachselectfirst 和所有其他方法。无论如何,如果你真的想要一个数组对象

courses = client.query("SELECT LCASE(name) FROM courses").to_a

to_a 也来自Enumerable 模块

courses = client.query("SELECT LCASE(name) AS name FROM courses")
course_names = courses.map { |course| course['name'] }
course_names.each { |course_name| puts course_name }

【讨论】:

  • 似乎仍然无法正常工作,它说明了有关将哈希转换为字符串的内容,我将向您展示我是如何使用它来查看您是否可以发现我的方式的错误,在此先感谢你是一个救生员! gyazo.com/bd696eb4cad4262d4849c2be872c7908
  • 我看到了代码,但你想完成什么?
  • 基本上我希望变量“courses”是一个数组,其中包含来自我数据库中的一个列的一堆字符串。再次感谢。
  • 我更新了我的答案。试试这三行,看看是否可以打印课程名称
  • 是的,效果很好(它打印出课程名称),“course_names”现在是一个包含变量的字符串数组吗?
猜你喜欢
  • 1970-01-01
  • 2012-10-12
  • 2013-07-24
  • 1970-01-01
  • 2022-11-13
  • 2015-01-07
  • 1970-01-01
  • 2021-03-31
  • 2016-05-17
相关资源
最近更新 更多