0
我有一個模型Service,它可以選擇屬於一個Region。我試圖在服務上編寫一個查詢,使我能夠按區域標題以及服務標題查詢服務。Rails + SQL:當沒有連接時包含連接表
我設法與下面的查詢做到這一點:
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])
但是......
- 這種感覺笨重,可怕的
- 我需要它返回一個 的ActiveRecord ::陣列
- 獎勵:在Arel。
如何實現包含具有關聯性和不具有關聯性的記錄的查詢。
謝謝
謝謝@doon,雖然有點微調,但工作得很好。多表的名字:Service.includes(:region).joins(「LEFT JOIN regions on services.region_id = regions.id」) –
我在答案中對它們進行了複數形式化處理,這也是我從頭上得到的結果 – Doon
好東西!你可以鏈接到任何有價值的信息,而在左邊的加入? –