BookshelfJS belongsToMany不会返回重复项

时间:2015-05-29 18:14:10

标签: javascript backbone.js bookshelf.js

我有两个表有/* Stripped down code */ class LeadsController < ApplicationController def create session[:zip] = zip session[:email] = email session[:full_name] = full_name session[:email_opt_in] = email_opt_in session[:phone] = phone listing = Listing.where(id: listing_id).first customer = create_or_update_customer_from_session(listing) customer.visitor_test(/* true || false */) if customer.errors.blank? /* Do something */ else /* Something else */ end end end 的关系。数据透视表还包含一个名为belongsToMany的列,该列可以包含3个不同的值。假设我的表格为stateTable1

对于与Table2不同的Table1-Table2关系,可以存在多个条目。

我想获取states的所有数据透视表条目,包括同一Table1的任意多个条目。

不幸的是,代码

Table2

仅返回每个return this.belongsToMany(Table2, 'pivot_table1_table2').withPivot(['state']) 的第一个条目。

帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

书架是如何工作的!它是该功能的一部分:删除欺骗。我找到了一个解决方法;显式选择联结表中唯一的属性。如果您没有,请为联结表创建模型。那可悲的是,这是唯一的解决方案。

更新:

也许是这样的。 routes.code在我的情况下是唯一的,它是联结表的一部分。如果这不能解决问题,请为联结表创建一个模型并进行设置(这可能是更优选的)。

-(void)scrollViewDidScroll