当前位置:  开发笔记 > 数据库 > 正文

Rails类型如何转换array_agg()函数的结果

如何解决《Rails类型如何转换array_agg()函数的结果》经验,为你挑选了0个好方法。

我正在尝试在Rails 4中应用此嵌入式视图技巧https://gist.github.com/jturkel/7917985#file-inline_view_model-rb,但是在我的视图中有一个列将返回从postgresql生成的数组建立功能array_agg()

class Product < ActiveRecord::Base
  defult_scope { set_from_clause }

  def self.set_from_clause
    query = Product.joins(:tags)
              .group("products.id")
              .select("products.id", "Array_agg('tags.id') AS tag_ids")

    from(query, table_name)
  end

  def self.columns
   [
      ActiveRecord::ConnectionAdapters::Column.new('product_id', nil, ActiveRecord::Type::String.new),
      ActiveRecord::ConnectionAdapters::Column.new('tag_ids', nil, ActiveRecord::Type::Integer.new),
    ]
  end
end

此示例代码无法正常工作,因为Array_agg无法正确键入由返回的值。我想知道是否有一种方法可以使tag_ids示例中的技巧起作用。

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有