Hi - need some help to pin this one.

Am upgrading a project to  2.3.2.  Have changed has_finder to
named_scope.  But I am getting an invalid mysql syntax error with a
finder that used to work

I have:

Batch
has_many :orders
has_many :line_items, :through=>:orders

Order
has_many :line_items

LineItem
named_scope :unmatched, :conditions => {'product_id'=>0}

@batch.line_items.unmatched.any?
gives me:  Mysql::Error: You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for the right
syntax to use near '*) AS count_line_items_all FROM `line_items` INNER
JOIN `orders` ON `line_items`' at line 1: SELECT count(`line_items`.*)
AS count_line_items_all FROM `line_items` INNER JOIN `orders` ON
`line_items`.order_id = `orders`.id WHERE (((`line_items`.`product_id`
= 0) AND ((`orders`.batch_id = 1479))) AND ((`orders`.batch_id =
1479)))

If I run the query, I can make it work with count(*) or count
(line_items.id) - is this a mysql problem?
Also note the batch id condition is included twice.

If I do
@batch.line_items.any?
I get a valid query:
SELECT count(*) AS count_all FROM `line_items` INNER JOIN `orders` ON
`line_items`.order_id = `orders`.id WHERE ((`orders`.batch_id = 1479))

So am I doing something bad with my named_scope??

Thanks for any help
Tonypm
--~--~---------~--~----~------------~-------~--~----~
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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to