Post

除外テーブルとの結合

# メインデータテーブル class Identified < ApplicationRecord self.primary_key = :property_id has_one :exclude_building, foreign_key: :identified_building_id, primary_key: :identified_building_id end # 除外データテーブル class ExcludeBuilding < ApplicationRecord belongs_to :identified, foreign_key: :identified_building_id, primary_key: :identified_building_id end # left joinして結合しないデータのみを抽出 IdentifiedProperty. left_joins(:exclude_building). where(exclude_buildings: {identified_building_id: nil}). all
[LEFT OUTER JOINする https://qiita.com/snaka/items/3137cf5920a5ec0c4022]
[joinの際に任意のキー「同士」で結合したい時には、primary_keyとforeign_keyを使う https://qiita.com/fkagami/items/8a9cd724c8ce059913b2]
This post is licensed under CC BY 4.0 by the author.