lib/sequel/plugins/many_through_many.rb in sequel-3.5.0 vs lib/sequel/plugins/many_through_many.rb in sequel-3.6.0
- old
+ new
@@ -154,10 +154,10 @@
left_key = opts[:left_key] = opts[:through].first[:left]
uses_lcks = opts[:uses_left_composite_keys] = left_key.is_a?(Array)
left_keys = Array(left_key)
left_pk = (opts[:left_primary_key] ||= self.primary_key)
- left_pks = Array(left_pk)
+ left_pks = opts[:left_primary_keys] = Array(left_pk)
opts[:dataset] ||= lambda do
ds = opts.associated_class
opts.reverse_edges.each{|t| ds = ds.join(t[:table], Array(t[:left]).zip(Array(t[:right])), :table_alias=>t[:alias])}
ft = opts[:final_reverse_edge]
ds.join(ft[:table], Array(ft[:left]).zip(Array(ft[:right])) + left_keys.zip(left_pks.map{|k| send(k)}), :table_alias=>ft[:alias])