【问题标题】:Rails3: how to use relational algebra to replace SQL-constructions like NOT and OUTER JOINRails3:如何使用关系代数来替换 SQL 构造,如 NOT 和 OUTER JOIN
【发布时间】:2010-06-06 20:18:04
【问题描述】:

有两种模式 Post 和 Comment。我应该得到所有没有带有特定标签的 cmets 的帖子。我如何使用新的 Rails 3 功能来做到这一点,例如关系代数 (arel)。

SQL 解决方案应该是这样的:

SELECT     `posts`.* FROM       `posts` LEFT OUTER JOIN `comments` ON `posts`.`id` = `comments`.`post_id`
WHERE    NOT (`comments`.`tag` = 'my_tag')

【问题讨论】:

标签: ruby-on-rails-3 outer-join relational-algebra arel


【解决方案1】:

添加到您的 Gemfile:

gem 'meta_where'

然后:

Post.includes(:comment).where(:comments => {:tag.not_eq => 'my_tag'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2015-04-01
    • 2014-11-25
    • 2013-03-07
    相关资源
    最近更新 更多