Несколько элементов в базе данных - PullRequest
0 голосов
/ 04 мая 2011

HI,

У меня есть список шагов, созданных пользователем, в этом списке у меня есть несколько категорий.

напр.

<ul id="thelist">
<li class="a">step a1</li>
<li class="a">step a2</li>
<li class="b">step b1</li>
<li class="c">step c1</li>
</ul>

как мне сохранить эту информацию в базе данных.

, что я сейчас пытаюсь сделать так:

User_Id -> created by User
list_Id -> Unique Id of the list
List_step_a -> matched by list Id 
list_step_b -> Matched by List Id
List_step_c -> Matched by List ID 

такЕсли я использую несколько таблиц, например:

table_list_id
list_step_a
list_step_b
List_step_c

ИЛИ есть ли лучший способ сохранить список в базе данных, чтобы его было проще вытащить.

Любая помощь будет принята с благодарностью.Может кто-нибудь указать мне правильное направление по крайней мере.

PS извините за английский.

другая информация: мне удалось создать эту информацию в XML. Есть альтернатива, где я могу загрузить XML-файл UserSpecific в базу данных.

также я пытаюсь создать это в Cakephp.

Ответы [ 2 ]

2 голосов
/ 04 мая 2011

Я бы разбил его на 2 таблицы (исключая таблицу пользователей, которая является заданным требованием)

CREATE TABLE lists (
`id` INT(11) PRIMARY KEY,
`user_id` INT(11) // or whatever it is in the users table
`name` VARCHAR(255) // the name of the list
);

CREATE TABLE list_items (
`id` INT(11) PRIMARY KEY,
`list_id` INT(11) // links a list item to a list
`name` // name of the list item
);

Объединение этих моделей с правильными отношениями даст вам списки, созданные пользователем, и всепредметов в этом списке.Надеюсь, это поможет.

0 голосов
/ 04 мая 2011

Создать таблицу для «шагов»:

CREATE TABLE steps (
`id` INT(11) PRIMARY KEY,
`user_id` INT(11) [or CHAR(36)],
`order` INT(11),
`name` VARCHAR(10)
);

Затем заполните это шагами. Затем, когда вам понадобятся шаги, просто вытяните их обратно:

$this->Step->find('list', array('conditions' => array('Step.user_id' = $user_id), 'order' => array('Step.order')));

Отображайте их в порядке их выхода.

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