хранение многомерного массива (матрицы) рельсов postgresql - PullRequest
0 голосов
/ 02 октября 2018

Я делаю приложение rails для школьного проекта, и теперь мне нужно сохранить matrix с использованием postgresql.Я сохранял значения в массиве, но подумал лучше и пришел к выводу, что мне нужна матрица, но я не знаю, как это сделать.

Я пытался таким образом: - Миграция:

add_column :table, :field, :text, array:true, default: []

Используя эту миграцию, значения сохраняются следующим образом:

[a,b,c,d,a,c,b,d,a,b,c,d,e]

Я думаю, что мне нужно вот так:

[[a,b,c,d],[a,c,b,d],[a,b,c,d,e],[...]].

Потому что таким образом значения группируются.

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 02 октября 2018

Я сделал простой проект rails, чтобы показать вам, как сохранить многомерный массив в БД.Пожалуйста, проверьте это здесь: https://github.com/nezirz/multidimensional_arrays

Как это выглядит:

enter image description here

Это суперурок с информацией, которая вам нужна.Пожалуйста, проверьте этот учебник.Это информация правила нижнего колонтитула о вашем случае с многомерными массивами:

One last note about arrays in PostgreSQL: there are no element count constraints, and any array can be multidimensional. With the multidimensional arrays, they must be “square” (the sub arrays must all have the same number of elements).

[[1,2,3], [2,3,4], [4,5,nil]]
# Valid array value in PostgreSQL, each subarray has the same number of
# elements
[1,2,[3,4]]
# Invalid array, we are mixing values and arrays at a single level

Пожалуйста, попробуйте этот урок https://dockyard.com/blog/ruby/2012/09/18/rails-4-sneak-peek-postgresql-array-support

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