The best I could do is a hack using collect. Something like parent.children.collect {|child| child.name}
Whether this is sound depends on whether you have the memory for it. Otherwise, you probably have to write a native SQL query if you want to put the burden on the DB engine. Or wait for DM 2.0. Thanks. On Sunday, February 17, 2013 6:06:50 PM UTC-5, abu...@gmail.com wrote: > > *bump* > > Did you find a solution to this Neil? > > I found an old thread: > https://groups.google.com/forum/?fromgroups=#!topic/datamapper/BChZ83gDSqQ > > It is 3 years old now though. Is there a way to achieve this? > > Cheers all.... > Adam > > On Saturday, 12 January 2013 01:15:21 UTC, Neil C wrote: >> >> I made a mistake in my earlier question since I just typed it out. >> Obviously parent.children.name wouldn't work because Collection doesn't >> have a name property. >> >> So the better question is: Given the class definitions above, how would I >> get the names of the kids from oldest to youngest? >> >> Thanks and sorry for the confusion. >> >> >> On Friday, January 11, 2013 7:22:00 PM UTC-5, Neil C wrote: >>> >>> Imagine Parent and Child classes as you might expect: >>> >>> class Parent >>> include DataMapper::Resource >>> >>> property :id, Serial >>> property :name, String, :required => true >>> >>> has n, :children, :order => :age.desc #Note default order by age >>> descending (i.e. oldest to youngest) >>> end >>> >>> class Child >>> include DataMapper::Resource >>> >>> property :id, Serial >>> property :name, String, :required => true >>> property :age, String, :required => true >>> >>> belongs_to :parent >>> end >>> >>> I now want the names of the kids from oldest to youngest so I do this >>> >>> parent.children.name >>> >>> The problem is that the order by age descending isn't being applied; in >>> fact, it is ignored. I am getting the names sorted by id. >>> >>> Is it even possible to maintain order across associations? If so, how? >>> >>> Thanks. >>> >>> >>> -- You received this message because you are subscribed to the Google Groups "DataMapper" group. To unsubscribe from this group and stop receiving emails from it, send an email to datamapper+unsubscr...@googlegroups.com. To post to this group, send email to datamapper@googlegroups.com. Visit this group at http://groups.google.com/group/datamapper?hl=en. For more options, visit https://groups.google.com/groups/opt_out.