使用ActiveRecord,如何根据关联的属性进行LIKE
查询?具体来说,我正在寻找适用于多态关联的东西。
class Invoice < ActiveRecord::Base
has_one :private_note, class_name: '::Note', as: :noteable,
conditions: {label: 'private'}
has_one :public_note, class_name: '::Note', as: :noteable,
conditions: {label: 'public'}
end
class Note < ActiveRecord::Base
belongs_to :noteable, polymorphic: true
validates :content, :presence: true
end
我想找到private_note
的{{1}}列包含“友好”字样的发票。
答案 0 :(得分:0)
这可以使用.merge
方法完成。
Invoice.joins(:private_note).merge(Note.where("content LIKE ?", '%friendly%'))