轨道多对多关系,存在吗?查询



文件夹和文档选项卡之间存在一对多关系。我想看看一个文件夹是否包括这样的文档:

q = Doc.new(blabla)
folder.docs.inludes?(q)

我认为你应该试试

folder.docs.是否存在?(q)

如果创建这样的新文档,无论文档的内容如何,它都不会与数据库中的任何其他文档相同(就include?而言),因为文档的id/对象实例哈希不同。

如果你想能够根据内容而不是实际记录(由id引用)来比较文档,你可以eql?(==)-请参见此处:http://ruby-doc.org/core-1.9.3/Object.html#method-i-eql-3F。不过我不建议这么做。

我会重新考虑你的解决方案。你想检查什么,看看文件夹中是否包含特定名称的文档?

folder.docs.find_by_name('blabla')

如果你得到一个非零的结果,你在文件夹中有一个名为"blabla"的文档,如果是零,你就没有。

最新更新