When I do such a query, AR misses the second 1/2 of the where clause
(assigned_product_id):
XpRawBillDetailProduct.joins(:xp_raw_bill_detail).where("xp_raw_bill_details.account_subcode_id=#{
account_subcode.id}", :assigned_product_id =>
raw_bill_product.assigned_product_id).to_sql
"SELECT \"xp_raw_bill_detail_products\".* FROM
\"xp_raw_bill_detail_products\" INNER JOIN \"xp_raw_bill_details\" ON
\"xp_raw_bill_details\".\"id\" =
\"xp_raw_bill_detail_products\".\"xp_raw_bill_detail_id\" WHERE
(xp_raw_bill_details.account_subcode_id=11)"
I have found I can get around this by using two wheres:
(rdb:1)
XpRawBillDetailProduct.joins(:xp_raw_bill_detail).where("xp_raw_bill_details.account_subcode_id=#{
account_subcode.id}").where(:assigned_product_id =>
raw_bill_product.assigned_product_id).to_sql
"SELECT \"xp_raw_bill_detail_products\".* FROM
\"xp_raw_bill_detail_products\" INNER JOIN \"xp_raw_bill_details\" ON
\"xp_raw_bill_details\".\"id\" =
\"xp_raw_bill_detail_products\".\"xp_raw_bill_detail_id\" WHERE
(xp_raw_bill_details.account_subcode_id=11) AND
(\"xp_raw_bill_detail_products\".\"assigned_product_id\" = 107)"
(rdb:1)
But is there a prettier way to mix inside a single where? Seems wrong the
way I am doing it.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.