Ruby on rails 筛选多值rails上的嵌套json列

Ruby on rails 筛选多值rails上的嵌套json列,ruby-on-rails,postgresql,rails-activerecord,Ruby On Rails,Postgresql,Rails Activerecord,存储在数据库列中的JSON类似于 "data": { "player": { "firstName": "John", "lastName": "Doe", "team": "London Blues" } } 在我看来,我希望有一个搜索字段,它接受名字、姓氏或团队名称,并相应地过滤列表。目前,我有以下解决方案,我并不十分满意,如果有更好的方法,请分享:) PlayerReqeust.where("initial -> 'data' -> 'pla

存储在数据库列中的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%")