Brian, Thanks for explain. But to achieve the same goal, in 0.9, it is one query, but in 0.10, the best way I can figure out is like:
PurchaseOrder.first(:completed => 'yes', :order => [:closed_date.desc], 'items.cb3_id' => 1763).items.first(:cb3_id => 1763) That is two-query to do the job. Anyway, I can live with it. Again, thanks for help. Have a nice weekend. --Bruce On Oct 2, 4:03 pm, Brian Smith <[email protected]> wrote: > I don't know specifically, but most of the stuff in the 0.10 version was > rewritten for stability. So I'm guessing there were some cases where it > would 'splode. Also it really does make more sense to run the query on the > model you're actually querying and then call the association. It will > actually chain the queries so I'm guessing it will do the same query as what > you were doing before, but it will be a bit more readable. I always strive > for readable code since its easier to get people up to speed on it. The > previous way requires a fairly adept knowledge of dm > > > > On Fri, Oct 2, 2009 at 2:44 PM, ZHHZ <[email protected]> wrote: > > > Brian, > > > Thanks for your email. You are right, I am working on a very 'huge' > > legacy DB. > > > I just wondering, is there a good reason why DataMapper changed the > > behavior of the "options[:order]". > > > Thanks. > > > --Bruce > > > On Oct 2, 3:14 pm, Brian Smith <[email protected]> wrote: > > > I think you might be better off running the query like > > > > PurchaseOrder.all(:completed => 'yes', :order => > > [:closed_date.desc]).items > > > > Also, personally, if completed is just a string of yes or no, I'd use a > > > boolean column (unless its a legacy db) > > > > On Fri, Oct 2, 2009 at 9:07 AM, ZHHZ <[email protected]> wrote: > > > > > Hi, > > > > > 0.10.0 breaks some of my code, here is my models: > > > > > class PurchaseOrder > > > > include ... > > > > > property :closed_date, ... > > > > > has n, items > > > > end > > > > > class PurchaseOrderLineItem > > > > ... > > > > belongs_to :po > > > > end > > > > > In 0.9, I was able to to something like: > > > > order_by = [DataMapper::Query::Direction.new(PurchaseOrder.properties > > > > [:closed_date], :desc)] > > > > result = PurchaseOrderLineItem.first( 'po.completed.eql' => > > > > 'yes', :order => order_by) > > > > > But in 0.10, it's broken, I got: > > > > +options[:order]+ entry :closed_date does not map to a property in > > > > PurchaseOrderLineItem > > > > > I must do it wrong in 0.10 or I missed something here, it seems like > > > > all the properties in the :order option must be a valid property in > > > > the model now( here is the PurchaseOrderLineItem), not a property of > > > > the association. I know I can get a work around by query against on > > > > the PurchaseOrder, I just curious is this the desired feature in > > > > 0.10.0? > > > > > Thanks. > > > > > --Bruce --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
