过滤SQL作为变量

时间:2015-07-02 17:44:03

标签: sql postgresql ruby-on-rails-4 arel

我有以下查询。如何在where子句中使用SQL变量is_followed(true或false)? 或者我怎样才能获得子查询is_followed为真的那些记录。

scoped = User.select(<<-SQL
      DISTINCT(users.*),
      EXISTS(
        SELECT 1 FROM followers
        WHERE
          followers.follower_id=#{current_user.id} AND
          followers.active=true
      ) AS is_following,
    SQL
    .squish)

我想在下次查询中进一步使用is_followed变量。如下所示

scoped.where(is_following: true)

我知道我可以做scoped.select(&:is_following)但我想在SQL中使用它

此致

0 个答案:

没有答案