Hallo,
ich hänge gerade etwas fest.
Es gibt dises model:
class Product < ActiveRecord::Base
has_many :covers
has_many :assets, :through => :covers
...
end
Ich benötige für das model einen named scope, der mir nur solche products
liefert, die mindestens ein asset haben.
Meine Idee war das hier:
named_scope :with_assets,
:include => :assets,
:conditions => ['count(assets.id) > 1']
Aber da wird eine exception geworfen:
ActiveRecord::StatementInvalid: Mysql::Error: Invalid use of group function:
SELECT `products`.`id` AS t0_r0, `products`.`legacy_id` AS t0_r1,
`products`.`product_type_id` AS t0_r2, `products`.`manufacturer_id` AS t0_r3,
`products`.`active` AS t0_r4, `products`.`created_at` AS t0_r5,
`products`.`updated_on` AS t0_r6, `products`.`name` AS t0_r7,
`products`.`description` AS t0_r8, `products`.`identity_key` AS t0_r9,
`products`.`price` AS t0_r10, `products`.`vat` AS t0_r11, `products`.`weight` AS
t0_r12, `products`.`comment` AS t0_r13, `products`.`subtitle` AS t0_r14,
`assets`.`id` AS t1_r0, `assets`.`name` AS t1_r1, `assets`.`extension` AS t1_r2,
`assets`.`content_type` AS t1_r3, `assets`.`image_width` AS t1_r4,
`assets`.`thumbnail_width` AS t1_r5, `assets`.`updated_on` AS t1_r6,
`assets`.`created_at` AS t1_r7, `assets`.`title` AS t1_r8,
`assets`.`description` AS t1_r9, `assets`.`comment` AS t1_r10 FROM `products`
LEFT OUTER JOIN `covers` ON (`products`.`id` = `covers`.`product_id`) LEFT
OUTER JOIN `assets` ON (`assets`.`id` = `covers`.`asset_id`) WHERE
(count(assets.id) > 1)
Ich sehe gerade nicht, wo mein Fehler liegt. Hat jemand vielleicht einen Tip?
Viele Grüße und schon mal vielen Dank fürs lesen
Michael Kastner
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug