我的Campaign模特很多Response.
我想做的是搜索就像 Campaign.where.not(responses.nil?)
基本上返回所有有回复的广告系列的列表.
最好的方法是什么?
根据这些答案,您可以通过以下几种方法来实现这一目标:
where.associatedCampaign.where.associated(:responses)
Run Code Online (Sandbox Code Playgroud)
Campaign.includes(:responses).where.not(responses: {id: nil})
Run Code Online (Sandbox Code Playgroud)
或者
Campaign.joins(:responses).distinct
Run Code Online (Sandbox Code Playgroud)
Campaign.joins(:responses).distinct
Run Code Online (Sandbox Code Playgroud)
您可以通过查询来执行以下操作join:
Campaign.joins(:responses)
Run Code Online (Sandbox Code Playgroud)
或者通过以下两个查询join:
Campaign.where(id: Response.pluck(:campaign_id))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |