我有如下關聯
一個用戶有很多訂閱(只有一個訂閱可以處于活動狀態) 一個訂閱屬于一個用戶
我正在尋找一個活動記錄查詢,它可以幫助我選擇所有訂閱都被取消的用戶,或者換句話說,他們沒有任何活動訂閱。
這個問題也歡迎原始 Sql 查詢。
uj5u.com熱心網友回復:
我們可以通過兩種方式做到這一點
第一個:
User.where.not(id: Subscription.where(status: 'active').pluck(:user_id))
第二個:
active_subscription_user_ids = Subscription.where(status: 'active').pluck(:user_id)
User.left_outer_joins(:subscriptions).where.not(id: active_subscription_user_ids)
uj5u.com熱心網友回復:
您可以使用此查詢執行此操作
User.where.not(id: Subscription.select(:user_id).where(status: 'Active'))
uj5u.com熱心網友回復:
請嘗試以下查詢
User.joins(:subscriptions).where('subscriptions.status = "active"').group('subscriptions.id').having("count(subscriptions.id) < 1")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/489664.html
上一篇:查找具有許多關系和其他引數的記錄RubyonRailsMySQL
下一篇:如果存在roogem,則更新記錄
