|
I'm having trouble ordering a "has n, :through" association. I need
the code at the end of this post to return a collection ordered by the
'ord' field in the 'play_chains' table when I do this: puts PlayItem.first.chained_events.inspect Instead I receive the following stack trace: /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/query.rb:309:in `normalize_order': Unknown property 'ord' (ArgumentError) from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/query.rb:287:in `map' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/query.rb:287:in `normalize_order' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/query.rb:181:in `initialize' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/model.rb:394:in `new' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/model.rb:394:in `scoped_query' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/model.rb:252:in `all' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship_chain.rb:26:in `send' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship_chain.rb:26:in `get_children' ... 7 levels... from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship_chain.rb:25:in `get_children' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/one_to_many.rb:251:in `children' from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/one_to_many.rb:309:in `method_missing' from ../dm-test.rb:57 What am I doing wrong? Here is the code: class Event include DataMapper::Resource property :id, Integer, :key => true property :name, Text, :lazy => false, :unique_index => true has n, :play_chains # FIXME: Ordering this association doesn't work. has n, :chained_play_items, :through => :play_chains, :class_name => 'PlayItem', :order => [:ord] end class PlayItem include DataMapper::Resource property :id, Integer, :key => true property :name, Text, :lazy => false, :unique_index => true property :event_id, Integer, :nullable => false belongs_to :event has n, :play_chains # FIXME: Ordering this association doesn't work. has n, :chained_events, :through => :play_chains, :class_name => 'Event', :order => [:ord] end class PlayChain include DataMapper::Resource property :id, Integer, :key => true property :play_item_id, Integer, :nullable => false property :event_id, Integer, :nullable => false property :ord, Integer, :nullable => false belongs_to :chained_event, :class_name => 'Event' belongs_to :chained_play_item, :class_name => 'PlayItem' end --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DataMapper" 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/datamapper?hl=en -~----------~----~----~----~------~----~------~--~--- |
- [DataMapper] Ordering a "has n, :through" associatio... Earle Clubb
