Предположим, у меня есть данные о пользователях, которые хранят массив животных в типе String
[
#<User id: 1, name: "John", pets: "---\n- cat\n- dog\n- bunny\n- ''\n">,
#<User id: 2, name: "Pete", pets: "---\n- dog\n- bunny\n- ''\n">,
#<User id: 3, name: "Jack", pets: "---\n- cat\n- ''\n">,
#<User id: 4, name: "Kurt", pets: "---\n- cat\n- bunny\n- ''\n">
]
Могу ли я получить всех пользователей, у которых есть кошка? Может быть, что-то вроде User.find_all_by...
или User.where(....)
или что-то, что возвращается как отношение? Так что я могу заказать с активной записью запроса.
Я знаю, что могу получить всех пользователей, у которых есть кошка с
User.all.select{|s| YAML.load(s.pets).include?'cat'}
, но он преобразуется в массив, который нельзя упорядочить с помощью запроса активной записи.
Спасибо за помощь.