我仍在尝试学习 SQL,我可以使用一些按不同属性排序的帮助。我正在尝试做的是得到所有products
并skus
首先按 . 订购它们collection.name
,然后按sku.name
. 但是,集合名称和 sku 名称都位于通过外键与 products 表关联的不同表中。
所以它看起来像这样
product.id | collection.name | product.name | sku.name
1 | Apple | Lateral File | A34
3 | Beaumont | Desk | BT450
2 | Beaumont | Hutch | BT451
5 | Beaumont | Drawer | BT452
7 | Vista | File | V246
6 | Waterfall | TV Stand | WF899
任何帮助表示赞赏
这是我的模型:
产品.rb
class Product < ActiveRecord::Base
attr_accessible :name,
:title,
:features,
:collection_id,
:skus_attributes
belongs_to :collection
has_many :skus, dependent: :destroy
accepts_nested_attributes_for :skus, reject_if: lambda { |a| a[:title].blank? }, allow_destroy: true
end
集合.rb
class Collection < ActiveRecord::Base
attr_accessible :name,
:title,
:description
has_many :products
end
sku.rb
class Sku < ActiveRecord::Base
default_scope order('skus.id ASC')
attr_accessible :name,
:title,
:product_id
belongs_to :product
end