Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- it "should create a query for many to many" do
- rel1 = Product.product_sales_areas.relationships[0]
- rel2 = SalesArea.product_sales_areas.relationships[0]
- fields = []
- Product.properties(Product.repository.name).map do |property|
- fields << property
- end
- fields << ProductSalesArea.sales_area_id
- fields << ProductSalesArea.product_id
- query = DataMapper::Query.new(SalesArea,:fields => fields, :links => [rel2,rel1])
- result = repository(:sqlite3).adapter.read_set(repository(:sqlite3),query)
- # ERROR !!! joins the wrong table on the last line.... should be product_sales_area
- # SELECT "products"."id", "products"."name" FROM "sales_areas"
- # LEFT OUTER JOIN products ON ("products"."id" = "product_sales_areas"."product_id")
- # LEFT OUTER JOIN sales_areas ON ("sales_areas"."id" = "product_sales_areas"."sales_area_id")
- # SELECT products.* FROM SalesArea
- # LEFT OUTER JOIN products ON products.id = product_sales_areas.product_id
- # LEFT OUTER JOIN product_sales_areas ON sales_areas.id = product_sales_areas.sales_area_id
- end
Add Comment
Please, Sign In to add comment