繁体   English   中英

复杂的Postgres SQL到RoR ORM

[英]Complex Postgres SQL to RoR ORM

环境:RoR 3.2 + Postgres

我创建了一个具有2个文本属性的services表: titledescription

我要进行以下全文搜索:

SELECT * FROM (
        SELECT DISTINCT ON (s.id) s.*, 
            ts_rank_cd(s.service_tsv, query) AS rank 
        FROM to_tsquery('red | drawing | fun') AS query, 
            services AS s
        WHERE (s.service_tsv @@ query)
        ORDER BY s.id DESC
) AS sub ORDER BY rank DESC;

SQL语句就像一个超级按钮一样工作,但是如何将其转换为Rails ORM:

Service.joins(???).where(???).uniq 
Service.find_by_sql(%q{SELECT * FROM (
        SELECT DISTINCT ON (s.id) s.*, 
            ts_rank_cd(s.service_tsv, query) AS rank 
        FROM to_tsquery('red | drawing | fun') AS query, 
            services AS s
        WHERE (s.service_tsv @@ query)
        ORDER BY s.id DESC
) AS sub ORDER BY rank DESC})

此处的指南http://guides.rubyonrails.org/active_record_querying.html#finding-by-sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM