armanx, I think that I found it. BookReader.first.checkouts.all(links: [Checkout.relationships[:book].inverse], order: [DataMapper::Query::Direction.new(Book.properties[:published], :desc)])
freakish But it retrieves me a collection of Checkout objects, ordered by :published.desc . is that what you want ? so long http://datamapper.lighthouseapp.com/projects/20609/tickets/1164-manytoone-relationships-form-bad-sql-with-links 2012/9/4 Arthur M. Meskelis <hallofriendl...@gmail.com> > oh, sorry. > That's a hard to do. > > I found that site > http://rhnh.net/2010/12/01/ordering-by-a-field-in-a-join-model-with-datamapper > maybe > help. > > Anyway, I will continue to search. > > > 2012/9/4 armanx <arm...@gmail.com> > >> That doesn't quite accomplish what I'm trying to do. >> >> BookReader.first.books.all(:**order => [:published.desc]) >> >> >> gives me Books; what I'm after are Checkouts, sorted by Book's :published >> column >> >> >> On Monday, September 3, 2012 12:54:31 AM UTC-7, armanx wrote: >>> >>> I'm looking to sort records in one table, based on a date column in >>> another table. For example, I have the following tables: >>> >>> class BookReader >>>> include DataMapper::Resource >>>> has n, :checkouts >>>> has n, :books, :through => :checkouts >>>> property :id, Serial >>>> property :name, String >>>> property :city, String >>>> end >>>> class Book >>>> include DataMapper::Resource >>>> has n, :checkouts >>>> has n, :readers, :through => :checkouts >>>> property :id, Serial >>>> property :title, String >>>> property :author, String >>>> property :published, Date >>>> end >>>> class Checkout >>>> include DataMapper::Resource >>>> belongs_to :bookreader, :key => true >>>> belongs_to :book, :key => true >>>> property :created_at, DateTime >>>> property :updated_at, DateTime >>>> end >>> >>> >>> (This assumes each BookReader can only check out each Book once). >>> I can select all the Book objects belonging to a particular BookReader: >>> >>> checkouts = BookReader.first.checkouts >>> >>> >>> Now, I want to sort these based on the :published date of the Book >>> object. E.g.: >>> >>> SELECT >>>> c.*, b.date >>>> FROM >>>> "checkouts" as c >>>> JOIN "books" as b on b.id = c.book_id >>>> WHERE >>>> c.bookreader_id = 1 >>>> ORDER BY >>>> b.date DESC >>> >>> >>> Any way to do this directly through DM? >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "DataMapper" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/datamapper/-/Nayx-lp5oksJ. >> >> To post to this group, send email to datamapper@googlegroups.com. >> To unsubscribe from this group, send email to >> datamapper+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/datamapper?hl=en. >> > > > > -- > ------------------------------------------ > 1. Notebook para você ficar livre e programar a vontade: R$ 2300 > 2. Curso de Programação/SysAdmin/DBA: R$ 5000 > 3. Pedir a solução pronta para um problema numa lista de discussão: Não > tem preço ! > > E para todas as outras existe RTFM, STFW e LMGTFY > -- ------------------------------------------ 1. Notebook para você ficar livre e programar a vontade: R$ 2300 2. Curso de Programação/SysAdmin/DBA: R$ 5000 3. Pedir a solução pronta para um problema numa lista de discussão: Não tem preço ! E para todas as outras existe RTFM, STFW e LMGTFY -- You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to datamapper@googlegroups.com. To unsubscribe from this group, send email to datamapper+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/datamapper?hl=en.