我有一个模型,服务,它可以选择属于一个区域。我试图在服务上编写一个查询,使我能够按区域标题以及服务标题查询服务。
我通过以下查询成功地做到了这一点:
Service.includes(:region).joins(:region).order(Region.arel_table[:title])但是,不包括不属于某个区域的服务。我希望查询也包括不属于某个区域的查询。在下一个查询中,我更接近:
Service.where("region_id is null") + Service.includes(:region).joins(:region).order(Region.arel_table[:title])但是..。
如何实现包含有关联的记录和没有关联的记录的查询。
谢谢
发布于 2016-03-01 17:59:43
我还没有尝试过这种方法,但是您可以在联接中指定join sql。所以也许是这样的:
Service.includes(:region).joins("LEFT JOIN regions on services.region_id = regions.id").order(Region.arel_table[:title])https://stackoverflow.com/questions/35729919
复制相似问题