我想知道在Rails 5中是否可以对给定长度的属性进行where
查询?
假设我在模型tags
上有一个名为Post
的序列化数组属性,我想找到该属性中包含3个以上项目的所有posts
。
我认为它看起来像这样:
Post.where('tags.size > ?', 3)
如果在ActiveRecord中有解决方案,那将是一个很大的好处。
答案 0 :(得分:3)
首先,由@mu评论太短,答案here,在您需要查询该属性时不使用序列化。 再次提到这个答案,你可以试试这样的事情,
Xsr-active-config
P.S。没有测试过。即使它有效,也似乎非常低效。
如果您打算开启创建名为Post.all.select { |post| post.tags.length > 3 }
的关联模型(更好的话),您可以执行类似
Tag