【发布时间】:2020-04-28 17:20:51
【问题描述】:
我需要一个表的ids,但#pluck 不够快,因为记录太多。
问题是我想直接从 mysql 获取它们的字符串,而不是获取任何 Array 或 ActiveRecord::Relation
[1, 2, 3] => "1,2,3"
Rails 中没有group_concat,所以我只是通过 sql 询问。示例:
sql = User.select("GROUP_CONCAT(users.id)").to_sql
ActiveRecord::Base.connection.exec_query(sql)
问题是我不知道为什么,但它没有返回表的所有 id,而只是返回其中的一部分。
知道为什么不返回所有这些,或者我如何以不同的方式实现它?
【问题讨论】:
-
在 mySQL 中 group_conact 被限制为 1024 的大小。虽然可以增加。
标签: mysql ruby-on-rails rails-activerecord