2011-06-16 24 views
0

如何查詢數據庫以查找包含一個或多個存儲爲可序列化的屬性的對象?rails查詢可串行化對象

例如,我有一場只在某些城市發生的音樂會。我想製作一個名爲城市的專欄作爲Concert對象並存儲一系列城市。

如果我想查詢我的數據庫以查找在1個城市發生的所有音樂會(或者在n個城市中發生的所有音樂會),我該怎麼做?

回答

2

這樣做的最好方法不是將其存儲在序列化列中,而是將其存儲在名爲Cities的單獨表中。那麼你可以這樣做:

City.find_by_name('Cityname').concerts 
0

查詢的一種可能的方法是使用SQL的LIKE條件。這將適用於序列化表中的布爾條件。

例如找到那些與用戶的「通知」選項,

users=User.arel_table 
User.where(users[:options].matches("%notification: true%")) 

至於其它類型的變量,這將不會是可行。