背景:表间关系 persons has_many books; books belongs_to persons;
从数据库中查询记录,由2个查询条件得到2个数组,于是用concat合并:
person_a = Person.find(18)
books = person_a.books
books.concat(Book.find_all_by_person_id(nil))
问题:发现books表中所有person_id为空的记录全被赋值成18了,也就是person_a的id
从数据库中查询记录,由2个查询条件得到2个数组,于是用concat合并:
person_a = Person.find(18)
books = person_a.books
books.concat(Book.find_all_by_person_id(nil))
问题:发现books表中所有person_id为空的记录全被赋值成18了,也就是person_a的id
本文探讨了一个关于数据库表关联的问题。具体来说,在使用Rails进行查询时,将两个查询结果合并导致books表中person_id为空的记录被错误地赋予了特定用户的ID。
1628

被折叠的 条评论
为什么被折叠?



