ruby-on-rails - RoR : PSQL to ruby - .加入

标签 ruby-on-rails ruby postgresql join psql

我意识到这是一个有点初级的问题,但我遇到了一道似乎无法逾越的墙。我有一个 friend 帮我写了这段 Postgres 代码,现在我正试图将它转换成 ruby​​,老实说,我不确定如何去做。我似乎找不到任何关于如何正确排序请求的所有部分的文档。

Postgres:

SELECT
        assets.id,
        count(assets_users.asset_id) as the_count
FROM assets
LEFT OUTER JOIN assets_users ON assets.id = assets_users.asset_id
WHERE asset_profile_id = 7
GROUP BY assets.id
HAVING count(*) > 0
ORDER BY the_count;

ruby :

def order_assets
  @order = Asset.select("assets.id").count("assets_users.asset_id").joins("LEFT OUTER JOIN assets_users ON assets.id = assets_users.asset_id").group("assets.id").having("count(*) > 0").order("assets_users.asset_id")
end

编辑:

新的 Ruby 代码:

def order_assets
  @order = Asset.select("assets.id, count('assets_users.asset_id) as the_count")
                .joins("LEFT OUTER JOIN assets_users ON assets.id = assets_users.asset_id")
                .group("assets.id")
                .having("count(*) > 0").order("the_count")
end

我希望所有黄色的 Assets 都在顶部,当有用户的 Assets 在下面填写时。

Screenshot of Problem

最佳答案

这是等效的代码:-

@order = Asset.select("assets.id, count(assets_users.asset_id) as the_count")
              .joins("LEFT OUTER JOIN assets_users ON assets.id = assets_users.asset_id")
              .where("asset_profile_id = ?", current_asset_profile_id)
              .group("assets.id")
              .having("count(*) > 0")
              .order("the_count")

关于ruby-on-rails - RoR : PSQL to ruby - .加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26847143/

相关文章:

ruby-on-rails - 来自 stdlib 的 Ruby 单例。如何杀死一个实例

ruby-on-rails - 旧 Rails 应用程序出现奇怪的 Rails 错误 "permission denied: bin/rails"

mysql - ln :/usr/lib/libmysqlclient. 18.dylib:文件存在

ruby - Nokogiri::HTML#content 中 HTML 元素之间的空格

ruby-on-rails - 使用 Rails(和设计)验证 Ember 应用程序

ruby-on-rails - Webpacker 困惑

ruby - 对齐多文本ruby Prawn 报告

mysql - PostgreSQL 中的更新顺序

postgresql - PG COPY错误: 'invalid input syntax for integer' when importing quoted CSV file without any integers

sql - 如何舍入 double 类型值?