我有一個模型,CheckIn
它屬于兩者,Client
并且Program
兩者都是欄位。 也屬于。我正在嘗試找到它們所屬的所有位置,屬于不同的客戶。client_id
program_id
Program
Client
check_ins
Program
我在一些記錄上注意到了這種不匹配,我正在嘗試確定這種情況發生的頻率。
class CheckIn < ApplicationRecord
belongs_to :program
belongs_to :client
end
class Program < ApplicationRecord
belongs_to :client
end
class Client < ApplicationRecord
has_many :check_ins
has_many :programs
end
我想查詢的不匹配記錄的示例是這樣的,因為它所屬的程式不屬于同一個客戶端:
#<CheckIn:0x00000001149ef9e8> {
:id => 336964,
:created_at => Wed, 29 Jun 2022 17:06:19.567000000 EDT -04:00,
:updated_at => Wed, 29 Jun 2022 17:06:30.280633000 EDT -04:00,
:client_id => 45290,
:program_id => 26266,
}
#<Program:0x00000001141e4d70
id: 26266,
client_id: 46220, # should match CheckIn (45290)
created_at: Tue, 18 Oct 2022 07:19:13.735740000 EDT -04:00,
updated_at: Tue, 18 Oct 2022 07:19:13.735740000 EDT -04:00
>
我該如何撰寫該查詢?我嘗試了以下但不知道如何訪問CheckIn
's client_id
:
CheckIn.joins(:program).where.not(programs: {client_id: CLIENT_ID_HERE})
uj5u.com熱心網友回復:
嘗試:
CheckIn.joins(:program).where('programs.client_id <> check_ins.client_id')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525750.html
標籤:轨道上的红宝石
下一篇:獨立類生成方法_missing