Ruby on rails 联合搜捕和通过联合搜捕
我有以下型号Ruby on rails 联合搜捕和通过联合搜捕,ruby-on-rails,ransack,Ruby On Rails,Ransack,我有以下型号 class A < ActiveRecord::Base has_many :B has_many :C, through: :B end I am trying to do a ransack search on A A.ransack( c_name_in: 'term', b_name_in: 'another_term' ) 有没有办法解决这个问题 SELECT DISTINCT a.* FROM a LEFT OUTER JOIN c ON
class A < ActiveRecord::Base
has_many :B
has_many :C, through: :B
end
I am trying to do a ransack search on A
A.ransack(
c_name_in: 'term',
b_name_in: 'another_term'
)
有没有办法解决这个问题
SELECT DISTINCT a.* FROM a
LEFT OUTER JOIN c ON c.a_id = a.id
LEFT OUTER JOIN b ON b.id = c.b_id
LEFT OUTER JOIN c association_c ON association_c.a_id = a.id
WHERE (b.name ILIKE '%term%' AND association_c.name IN ILIKE '%anotherterm%'