:joins または :includes を使用してアイテムをクエリする方法はありますか?また、同じクエリで、対応する関係を持たない結果を返す方法はありますか?
現在のサンプルクエリ
Company.find(1).users.includes(:billing_statuses).where('billing_statuses.expires < ?', Time.now)
これは、billing_statuses の有効期限が切れているすべてのユーザーを返す必要がありますが、最終的な目標は、すべての「請求されていない」ユーザーを取得することであり、これには :billing_statuses 関係をまだ持っていないユーザーが含まれます。
これを 1 つのクエリに結合する方法はありますか?
私が検討した別の方法は、会社のすべてのユーザーを取得してから、請求書の有効期限が切れていないユーザーを差し引くことです。しかし、それは最適な解決策ではないと感じています。
ありがとう!