Rails LIKE - 查询无法正常工作

Sha*_*r's 1 sql postgresql ruby-on-rails rails-activerecord

我有一个房屋模型和business_model []列.此列可以设置为"唤醒","睡眠"或"唤醒,睡眠",带有单选按钮,所有字符串.我想让所有的房子包括business_model作为"清醒".

@house = (House.all).uniq.where("business_model like ?", "sleep")
Run Code Online (Sandbox Code Playgroud)

我试过那段代码.仅当列只是"睡眠"时它才有效.当它"清醒,睡觉"时,它返回零.

这是为什么?

Phi*_*rom 6

你需要在那里扔一些外卡.试试where("business_model like ?", "%sleep%").请注意,这也将捕获sleepingasleep.

您可能需要考虑使用JSON数据库列,以便更好地控制查询.