这是我遇到的问题:
我正在使用Rails 4& MySQL的
我的消息有一个发件人和一个收件人。
我希望能够存档邮件,但如果发件人存档邮件,收件人仍然可以访问该邮件,直到将其存档为止。
我序列化了一个字段:
serialize :archived_by, Array
包含归档邮件的用户
但我无法弄清楚如何使用它进行查询。
Message.where("archived_by like ?", [1].to_yaml)
效果很好,返回用户'
归档的邮件Message.where.not("archived_by like ?", [1].to_yaml)
没有工作,什么也没有回来
我想找到别的东西,而不是使用经典的多对......
谢谢!
更新
我最终决定添加2个字段,一个用于发件人和一个让收件人知道哪些存档邮件。如果有人有正确的方法,请告诉我们:)
答案 0 :(得分:0)
如果您使用的是postgresql,则可以查询信息。
正如在回答Searching serialized data, using active record中所描述的那样,serializer
的缩小至少在mysql下,是你通过本机数据库抽象。