Запрос на один ключ ActiveRecord :: Хранить в рельсах - PullRequest
0 голосов
/ 02 июля 2019

Имя моей модели: UserLimit, столбец value имеет значение text.

class UserLimit < ApplicationRecord
  store :value, coder: Hash, accessors: %I[limit_1 limit_2 limit_3]
end

. Теперь содержимое столбца значения для объекта

{
 "limit_1=>{"requested_at"=>2019-05-18 19:09:12 UTC, "range"=>nil},
 "limit_2"=>
    {"daily"=>{"requested_at"=>Tue, 28 May 2019 00:00:00 UTC +00:00, "old_point"=>10, "new_points"=>10},
     "weekly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_point"=>30, "new_point"=>30},
     "monthly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_point"=>20, "new_point"=>20}},
 "limit_3"=>
    {"daily"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>40, "new_value"=>40},
     "weekly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>60, "new_value"=>60},
     "monthly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>50, "value"=>50}},
   }
* 1009.* Теперь мы хотим, чтобы все те ограничения, которые были установлены limit_1 и value в range , не nil

Я пробовал много вещей, но ни один из них не работает. post похоже на мою проблему, но у нас есть 2 уровня вложенности.

Сейчас я использую like query

UserLimit.where("value like ?", "%range%").first

Это работаетпрямо сейчас, но как я могу получить user_limits с limit_2 weekly установленным?

Спасибо и заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...