我有一個導軌查詢:爲什麼這總是迴歸真實?
Model.exists?(where(:x => 1, :y => y, :z => z).first)
這是返回true。我的數據庫中唯一的行將x設置爲0,而不是1.是否有解釋?
忍者編輯:我檢查,似乎沒有任何價值的問題,它總是返回true。這是什麼原因?
我有一個導軌查詢:爲什麼這總是迴歸真實?
Model.exists?(where(:x => 1, :y => y, :z => z).first)
這是返回true。我的數據庫中唯一的行將x設置爲0,而不是1.是否有解釋?
忍者編輯:我檢查,似乎沒有任何價值的問題,它總是返回true。這是什麼原因?
我想你想要的是沿
Model.where(:x => 1, :y => y, :z => z).exists?
nate c的評論爲我解決了這個問題,但這也可能。除非你有這樣的優勢,否則我沒有任何意義。 –
主要優點是它更具可讀性。 – Dty
你檢查,被執行什麼SQL行嗎?您可以在調試日誌中找到它。 –
model.exists(:x => 1,...)沒有第一個和第一個。還存在嗎?將會返回一個布爾值而不是一行,應該沒有理由。 –
謝謝!把它作爲答案,我會標記它是正確的。我正在使用其他地方的地方,這是我在這裏試圖使用它的原因。 –