我正在使用PublicActivity gem,並希望將兩個「where」查詢與OR結合使用。每個查詢單獨工作:如何將ActiveRecord查詢與或
@activities = PublicActivity::Activity.where(owner_id: current_user.friend_ids, owner_type: "User")
@activities = PublicActivity::Activity.where(recipient_id: current_user.id, recipient_type: "User")
的目標是:
回報的活動,其中owner_id是current_user.friend_ids OR recipient_id是current_user.id。我試過,但沒有奏效:
@activities = PublicActivity::Activity.where("owner_id LIKE ? OR recipient_id LIKE ?', current_user.friend_ids, current_user.id)
我已經嘗試過了squeel寶石和也是在(...)or.where(...)
任何建議?
是'current_user.friend_ids'返回值的數組?如果是這樣,我相信你想使用'IN'而不是'LIKE',比如'owner_id IN(?)'。另外,你說:「我嘗試過,但沒有奏效」;你能描述一下什麼是行不通的嗎?你有錯誤嗎?是不正確的結果返回?沒有結果返回?等 –
檢查https://github.com/oelmekki/activerecord_any_of – apneadiving
@Teeg是的,friend_ids返回一個值的數組,它與owner_id IN(?)一起工作!謝謝 – crispychicken