0

価格を使用してソート結果を取得したい。

価格順で並べ替えて結果を出したい 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    |                |
+------------+--------------+------+-----+---------+----------------+

価格でソートされたホテルのパッケージを取得したい。

4

0 に答える 0