在我看來,這段代碼可以簡化為一個查詢,但我不明白怎么可能以某種方式做到這一點?
users_ids = ::User.find_by(id: id)&.something.presence || ::User.all.pluck(:id)
我試圖用 SQL 來做,但沒有用
uj5u.com熱心網友回復:
你在嘗試這樣的事情還是
Book.where(category: "Programming").or(Book.where(category: "Ruby"))
https://guides.rubyonrails.org/active_record_querying.html#or-conditions
uj5u.com熱心網友回復:
對于您的情況,您應該使用 SQL,嘗試 IF...ELSE 陳述句。sql server 檔案:https ://learn.microsoft.com/vi-vn/sql/t-sql/language-elements/if-else-transact-sql?view=sql-server-2016
uj5u.com熱心網友回復:
您可以首先檢查資料庫中是否有用戶使用該用戶id并且使用somethingNULL 以外的其他用戶,如果沒有,則使用 OR 運算子并將它們全部帶入;
User.where('(id = ? AND something IS NOT NULL) OR TRUE', id)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/532918.html
標籤:轨道上的红宝石红宝石
