ruby-on-rails – Ruby / Rails Collection to Collection
发布时间:2020-12-16 21:36:40 所属栏目:百科 来源:网络整理
导读:我有一个连接表连接的两个表 – 这只是伪代码: LibraryBookLibraryBooks 我需要做的是,如果我有一个库的id,我想得到这个库所有书籍的所有库. 因此,如果我有图书馆1,图书馆1中有图书A和B,图书A和B在图书馆1,2和3中,那么在轨道中是否有优雅(一线)的方式? 我
我有一个连接表连接的两个表 – 这只是伪代码:
Library Book LibraryBooks 我需要做的是,如果我有一个库的id,我想得到这个库所有书籍的所有库. 因此,如果我有图书馆1,图书馆1中有图书A和B,图书A和B在图书馆1,2和3中,那么在轨道中是否有优雅(一线)的方式? 我刚在想: l = Library.find(1) allLibraries = l.books.libraries 但这似乎不起作用.建议? 解决方法l = Library.find(:all,:include => :books) l.books.map { |b| b.library_ids }.flatten.uniq 请注意,map(&:library_ids)比map {| b |慢b.1library_ids}在Ruby 1.8.6中,在1.9.0中更快. 我还应该提一下,如果你使用:join而不是include,那么它会在相同的查询中找到库和相关的书籍,从而加快了数据库的使用时间. :只有图书馆有书籍时才能使用联接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |