価格を使用してソート結果を取得したい。
価格順で並べ替えて結果を出したい
hotel.packages
私は関係を持つ2つのモデルを持ってい(hotel and package )
ますhas_many :through
。両者はスルー関係で接続されており、そのモデル名はpackage_price
ホテルのモデルは次のとおりです。
class Hotel < ActiveRecord::Base
has_many :package_prices, :dependent => :destroy
has_many :packages, :through => :package_prices, :order => 'package_prices.price'
end
パッケージモデルは次のとおりです。
class Package < ActiveRecord::Base
has_many :package_prices, :dependent => :destroy #foreign key package_id
has_many :hotels, :through => :package_prices, :order => 'package_prices.price'
end
package_price モデルは次のとおりです。
class PackagePrice < ActiveRecord::Base
belongs_to :package
belongs_to :hotel
end
package_prices テーブルのフィールド:
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| package_id | int(11) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| hotel_id | varchar(255) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
価格でソートされたホテルのパッケージを取得したい。