Иерархическая база данных "следующий по порядку" с Rails? - PullRequest
1 голос
/ 07 июля 2010

Я создаю сайт, на котором есть некоторые упорядоченные иерархические данные, хранящиеся в базе данных. Есть таблица «Volume», таблица «Book» с полями volume_id и position, а также таблица «Chapter» с полями book_id и position.

То, что я хотел бы создать, - это браузер, который просматривает разделы. Поэтому, если я отображаю подробности о томе 2, книга 1, раздел 5, мне нужна ссылка «Следующий раздел», в которой отображается название следующего раздела по порядку. Проблема в том, что я не могу придумать дешевый SQL-запрос, который может определить следующий раздел по порядку (или даже определить, есть ли следующий раздел).

Как мне настроить свои таблицы / запросы, чтобы такой запрос был проще? Или есть лучший способ?

1 Ответ

1 голос
/ 07 июля 2010

Если у вас есть только один столбец, с которым вы собираетесь это делать, то я согласен с IV - хорошая древовидная структура будет очень быстрой и эффективной. если у вас есть сортировка по нескольким столбцам, вы можете использовать will_paginate и установить размер страницы равным 1. Таким образом, ваш предыдущий, следующий и все остальное запекается.

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