'NOT IN'或.not()带有来自模型的数组

时间:2016-03-20 20:03:36

标签: ruby-on-rails-4 activerecord

我一直坚持这个问题。

我有一个模型文章,其中包含一个包含用户ID的数组。 我试图获取特定用户看不到的所有文章

所以在第一条中我得到了:

add_column :articles, :seenby, :string, array:true

例如用户[“1”,“2”,“3”]看到第一篇文章

现在我有了用户4,我想找到他还没有见过的所有文章 所以我会有像

这样的查询
Article.where('4 NOT IN (?)', :seenby)

但是这不起作用我尝试了很多东西(也没有。)但是一直有这样的例子是这样的:

something.where('4 NOT IN (?)', ['some', 'value'])

something.not(field:value)

这里我需要文章的看法。

如果你可以提供帮助,那就太多了。)

1 个答案:

答案 0 :(得分:1)

您可以使用ANY

Article.where('NOT ? = ANY (seen_by)', 4)