Хранение списка через запятую в столбце БД, как получить и установить? - PullRequest
2 голосов
/ 25 апреля 2011

Я хочу сохранить список через запятую в столбце базы данных, например:

234234,2134234,2453245,2345

Затем я хочу получить этот список и использовать его в запросах вроде:

u = User.find("where some_id in (?)", my_comman_seperated_list)

Я должен преобразовать это в массив, не так ли?

Ответы [ 2 ]

5 голосов
/ 25 апреля 2011

Определите ваш столбец как text, и в ActiveRecord объявите, что столбец как сериализованный:

serialize :my_column

Теперь этот столбец будет сохранен как [234234,2134234,2453245,2345], и когда вы получите этот объект, атрибутбудет массивом, который вы можете передать в свою находку.

1 голос
/ 25 апреля 2011

Существует ли причина, по которой должен быть в столбце, а не в отдельной таблице?Возможно, имеет смысл создать новую модель для данных, хранящихся в этом столбце, а затем сохранить одно значение в каждой строке, которое belongs_to :user.

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