嘗試做以下其中值爲數組的原始sql。紅寶石
ElectricityProfile.find_by_sql ["select * from electricity_profiles where owner_id IN ?", array]
不過似乎SQL不接受陣列。
是否有任何其他方式來檢查列對數組?
使用: Rails的3.2.x中 紅寶石193 MySQL的
嘗試做以下其中值爲數組的原始sql。紅寶石
ElectricityProfile.find_by_sql ["select * from electricity_profiles where owner_id IN ?", array]
不過似乎SQL不接受陣列。
是否有任何其他方式來檢查列對數組?
使用: Rails的3.2.x中 紅寶石193 MySQL的
您需要?
周圍括號。
ElectricityProfile.find_by_sql ["select * from electricity_profiles where owner_id IN (?)", array]
或
ElectricityProfile.where("owner_id IN (?)", array)
使用下面。
ElectricityProfile.find_by_sql("select * from electricity_profiles where owner_id in (?)", array])
請更新你的答案,因爲你不使用原始的sql。這是ActiveRecord方法 –
最好使用ActiveRecord。因爲它更高效。 – vijikumar
你錯了,ActiveRecord更好用,但是原始的sql比大塊的數據有更好的性能。 –
甜!第一個工作,我不想爲此使用ActiveRecord –
你知道'find_By_sql'也是'ActiveRecord'的一部分嗎? http://apidock.com/rails/ActiveRecord/Base/find_by_sql/class – oldergod
@DanMyasnikov順便說一句,你接受答案越少,你就會有更少的人回答你的問題。 – oldergod