我在PostgreSQL數據庫三個表:顯示在他們的順序加入數據記錄在PostgreSQL和Ruby on Rails創建
成員
- ID
- FIRST_NAME
- 姓氏
- created_at
次
付款(贊借記)
- ID
- member_id
- 量
- created_at
- 類型
費用(贊信用)
- ID
- member_id
- 量
- created_at
- 型
我想向他們展示在一個視圖中說賬單: ,我用下面的查詢:
select * from members as t1 left join payments as t2 on (t1.id=t2.member_id) left join fees as t3 on (t1.id=t3.member_id)
,它顯示了我下面的結果:
id | Amount | created_at | Type
1 100 25-12-2013 Fee
2 100 29-12-2013 Fee
3 100 25-12-2013 Payment
4 100 23-12-2013 Payment
但問題是,它顯示了第一個收費記錄,然後付款,而我需要它應該是爲了通過created_at,它應該是象下面這樣:
id | Amount | created_at | Type
1 100 23-12-2013 Payment
2 100 25-12-2013 Fee
3 100 25-12-2013 Payment
4 100 29-12-2013 Fee
車型
下面是詳細信息:
class Fee < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :member_id,:fee_type,:amount,:reason,:details,:date
# Setup relations with relative models
belongs_to :member
# Validates rule here
validates_numericality_of :member_id,:fee_type,:amount
validates :reason,
:format => {:with => /^[-a-zA-Z0-9_ ]+$/ },
:length => {:maximum => 255},
:presence =>true
validates :details,
:format => {:with => /^[-a-zA-Z0-9_ ]+$/ },
:length => {:maximum => 255},
:allow_blank =>true
validates :amount,
:presence => true
validates :member_id,
:presence => true
validates :date,
:presence => true
# Search start here
self.per_page = 10
end
class Payment < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :member_id,:payment_category_id,:payment_type_id,:payment_date,:amount,:notes,:is_send_email,:last_sent,:date_deposite
# Setup relations with relative models
belongs_to :payment_type
belongs_to :payment_category
belongs_to :member
# Validates rule here
validates_numericality_of :member_id,:payment_category_id,:payment_type_id,:amount
validates :notes,
:format => {:with => /^[-a-zA-Z0-9_ ]+$/ },
:length => {:maximum => 255},
:allow_blank =>true
validates :amount,
:presence => true,
:length => {:maximum => 15}
validates :member_id,
:presence => true
validates :payment_date,
:presence => true
# Pagiination start here
self.per_page = 10
end
class Member < ActiveRecord::Base
has_many :payment, dependent: :destroy, -> { order :created_at }
has_many :fee, dependent: :destroy, -> { order :created_at }
has_many :events, :through => :participants
end
'ORDER BY created_at' does not work for you? –
不,它不起作用 –
你可以擴展它「它不工作」...例如給我們一個例子,當你使用訂單時它看起來像什麼...有時如果你解釋事情「不工作」他們可以幫助我們導致更好的解決方案,從而實現工作:) –