Guest User

Untitled

a guest
Apr 20th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. it "should create a query for many to many" do
  2. rel1 = Product.product_sales_areas.relationships[0]
  3. rel2 = SalesArea.product_sales_areas.relationships[0]
  4.  
  5. fields = []
  6. Product.properties(Product.repository.name).map do |property|
  7. fields << property
  8. end
  9.  
  10. fields << ProductSalesArea.sales_area_id
  11. fields << ProductSalesArea.product_id
  12.  
  13. query = DataMapper::Query.new(SalesArea,:fields => fields, :links => [rel2,rel1])
  14. result = repository(:sqlite3).adapter.read_set(repository(:sqlite3),query)
  15.  
  16. # ERROR !!! joins the wrong table on the last line.... should be product_sales_area
  17. # SELECT "products"."id", "products"."name" FROM "sales_areas"
  18. # LEFT OUTER JOIN products ON ("products"."id" = "product_sales_areas"."product_id")
  19. # LEFT OUTER JOIN sales_areas ON ("sales_areas"."id" = "product_sales_areas"."sales_area_id")
  20.  
  21. # SELECT products.* FROM SalesArea
  22. # LEFT OUTER JOIN products ON products.id = product_sales_areas.product_id
  23. # LEFT OUTER JOIN product_sales_areas ON sales_areas.id = product_sales_areas.sales_area_id
  24.  
  25. end
Add Comment
Please, Sign In to add comment