我正在嘗試對序列化列進行簡單查詢,您該怎么做?serialize :mycode, Array1.9.3p125 :026 > MyModel.find(104).mycode MyModel Load (0.6ms) SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`id` = 104 LIMIT 1 => [43565, 43402] 1.9.3p125 :027 > MyModel.find_all_by_mycode("[43402]") MyModel Load (0.7ms) SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` = '[43402]' => [] 1.9.3p125 :028 > MyModel.find_all_by_mycode(43402) MyModel Load (1.2ms) SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` = 43402 => [] 1.9.3p125 :029 > MyModel.find_all_by_mycode([43565, 43402]) MyModel Load (1.1ms) SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` IN (43565, 43402) => []
3 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
序列化數組以特定方式存儲在數據庫中,例如:
[1, 2, 3, 4]
in
1\n 2\n 3\n etc
因此查詢將是
MyModel.where("mycode like ?", "% 2\n%")
在%和之間放置空格2。
- 3 回答
- 0 關注
- 609 瀏覽
添加回答
舉報
0/150
提交
取消