我正在尝试从协会获得结果。我想让所有为特定活动付费的会员。活动的名称是Lead。
class Pages::EventsController < ApplicationController
@total_paid = Member.includes(event: :lead).where('events.lead.paid = ?', true)
end
当我运行时@total_paid.count
,从控制台获取:
SELECT COUNT(*) FROM "members" WHERE (events.lead.paid = 't')
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry
for table "lead"
LINE 1: SELECT COUNT(*) FROM "members" WHERE (events.lead.paid = 't'...
以下是我的协会的结构:
class Event < ActiveRecord::Base
belongs_to :members
has_one :lead
end
class Lead < ActiveRecord::Base
belongs_to :event
end
Class Member < ActiveRecord::Base
has_one :event
end
知道了。这应该可以解决问题:
@total_paid = Member.includes(event: :lead).where('leads.paid = ?', true).references(event: :lead)
只需简单地添加references
末尾并将查询更改为only即可leads
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句