作者polarpolar (破啦贝尔)
看板Ruby
标题Re: [问题] rails find 问题..
时间Sat Jan 20 16:41:10 2007
※ 引述《suomax (shadow)》之铭言:
: 请问 find 的 :order 选项是否可以与 model 的 relationship 合用?
: 比如
: class Product < ActiveRecord::Base
: belongs_to :catalog
: end
: 然後 catalog 有一个顺序值 level
: 好像不能这样 Product.find(:all, :order => :catalog.level )
: 有什麽方法达成这样的使用方式吗?
: 另外这样好像会有大量的资料库存取,还是有比较好的方法呢?@@
这是 Relation DB Model 物件化的痛啊......
最好的方法还是用 find_by_sql 然後 JOIN catalogs 吧
尽管这样会使程式码变很丑,程式码可携性也会降低,
但为了效能还是忍耐一下吧。
---
照理说 catalog_id 跟 catalogs.level 是无相关啦
用 catalog_id 来排序这方法并不正确
不过每个 catalog_id 却保证不同的 level
如果真的效能低落很严重的话
看要不要在 Product 的 Model 里面加一个 catalog_level field
这应该违反资料库正规化,但是效能当前,
在 ActiveRecord 尚未漂亮地支援 DB Views 之前,
还是先这样吧。
---
话说这个板已经演化成
Ruby 板 → RubyOnRails 板 → ActiveRecord 板? XD
--
╭───╮╭───╮┬ ╭───╮╭───╮2
│ ││ ││ │___│├───╯
├───╯╰───╯╰───│ ││ \
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.98.33
1F:推 godfat:呜呜,再不读 RoR, 我就快没文章可以回覆了 XD 01/20 19:26