我需要将一个不存在的表映射到 ActiveRecord(在我的例子中:Wordpress 数据库模式),它由如下所述的自定义 SQL 语句组成。我希望能够在其他语句中使用 find()、first()、all()。有没有办法在不覆盖所有查找器方法的情况下完成此操作?(我目前正在重新定义这些方法,以实现类似的结果,但很想知道是否有更多的 ActiveRecord/Rails 方法可以做到这一点)
目前我正在做例如
class Category < ActiveRecord::Base
self.table_name="wp_terms"
def self.all
Category.find_by_sql("select distinct(wp_terms.term_id),wp_terms.name,wp_term_taxonomy.description,wp_term_taxonomy.parent,wp_term_taxonomy.count from wp_terms inner join wp_term_relationships ON wp_term_relationships.object_id = wp_terms.term_id INNER JOIN wp_term_taxonomy ON wp_term_taxonomy.term_id = wp_terms.term_id where taxonomy = 'category';")
end
end
感谢您的任何指点。