this option is available in validation.. is there any equivalent when doing a query or should it be SQL dependent ( coded in the model ) ?
thanks for feedback
this option is available in validation.. is there any equivalent when doing a query or should it be SQL dependent ( coded in the model ) ?
thanks for feedback
Kad Kerforn wrote in post #1063333:
this option is available in validation.. is there any equivalent when doing a query or should it be SQL dependent ( coded in the model ) ?
thanks for feedback
orders = Order.order('lower(name)') Order Load (0.5ms) SELECT "orders".* FROM "orders" ORDER BY lower(name)
Robert Walker wrote in post #1063410:
orders = Order.order('lower(name)') Order Load (0.5ms) SELECT "orders".* FROM "orders" ORDER BY lower(name)
Keep in mind that the above will force the database to perform a sequential scan of the table even if the column you're ordering by is indexed. Which means that if you have performance issues you may need to create a case-insensitive index on the column. I'll leave that as an exercise for you on how to set that up in whatever database you are using.
Ok thanks a lot .. in the meantime , I modified my record design , adding a ds_name string which is the lower(name) written upon create, so I can order on it directly... as it's for 'tag' records, I'll not have billion of records .. according to your feedback I can create a case-insensitive index on the column.. even better