过滤多个值rails上的嵌套json列

时间:2017-01-03 12:17:40

标签: ruby-on-rails postgresql rails-activerecord

存储在数据库列中的JSON类似于

"data": {
  "player": {
    "firstName": "John",
    "lastName": "Doe",
    "team": "London Blues"
  }
}

在我看来,我希望有一个搜索字段,它接受名字姓氏或团队名称并相应地过滤列表。目前我有以下解决方案,我并不满意,如果有更好的方法,请分享:)

PlayerReqeust.where("initial -> 'data'  -> 'player' ->> 'firstName'  LIKE ? or initial -> 'data'  -> 'player' ->> 'lastName  LIKE ? or initial -> 'data'  -> 'player' ->> 'team  LIKE ?", "%John%", "%John%", "%John%")

0 个答案:

没有答案