Стоит задача доработать существующий функционал модуля "Learning", необходимо привязать к каждому курсу подраздел "Классы".
Описания функционала Классов:
В административной части сайта Сервисы->Обучение->Курсы->Тестовый курс(предположим)->Классы должны выводится классы с неограниченным количеством пользователей выбранных в них.
Классы - это подраздел курсов в элементах которого (каждого курса) необходимо указывать:
1) название
2) период активности
3) выбирать пользователей принадлежащих классу (с возможностью добавлять не ограниченно количество пользователей к классу)
4) сортировка
5) активность
Я думаю необходимо создать таблицу b_learn_class с привязкой ID класса к ID курсу из таблицы b_learn_course (курсов), структура этой таблицы следующая:
CREATE TABLE b_start_class
(
ID int(11) unsigned not null auto_increment,
COURSE_ID int(11) unsigned not null REFERENCES b_start_course(ID),
TIMESTAMP_X timestamp not null,
ACTIVE char(1) not null default 'Y',
CODE varchar(50),
NAME varchar(255) not null,
SORT int(11) not null default '500',
PRIMARY KEY(ID)
);
Но мне еще нужно где-то хранить ID выбранных пользователей, в этом и заключается мое не понимание, либо создавать еще одну колонку USERS и через запятую хранить в ней ID пользователей или создавать отдельную таблицу b_learn_class_user со следующим содержанием:
CREATE TABLE b_start_class_user
(
USER_ID INT(1 8) not null,
CLASS_ID INT(1 8) not null,
DATE_ACTIVE_FROM datetime,
DATE_ACTIVE_TO datetime,
UNIQUE ix_class_user (USER_ID, CLASS_ID),
INDEX ix_class_user_class (CLASS_ID)
);
С такой структурой таблиц встает вопрос, как делать выборку $arFields и как их выводить на странице редактирования элемента в административной части, $arField["USER_ID"] - будет массивом ID пользователей, как мне привязать пользователей к функции вывода и добавления пользователей FindUsersID.
Какая структура таблиц(ы) будет правильней и почему ? Подскажите пожалуйста!
Описания функционала Классов:
В административной части сайта Сервисы->Обучение->Курсы->Тестовый курс(предположим)->Классы должны выводится классы с неограниченным количеством пользователей выбранных в них.
Классы - это подраздел курсов в элементах которого (каждого курса) необходимо указывать:
1) название
2) период активности
3) выбирать пользователей принадлежащих классу (с возможностью добавлять не ограниченно количество пользователей к классу)
4) сортировка
5) активность
Я думаю необходимо создать таблицу b_learn_class с привязкой ID класса к ID курсу из таблицы b_learn_course (курсов), структура этой таблицы следующая:
CREATE TABLE b_start_class
(
ID int(11) unsigned not null auto_increment,
COURSE_ID int(11) unsigned not null REFERENCES b_start_course(ID),
TIMESTAMP_X timestamp not null,
ACTIVE char(1) not null default 'Y',
CODE varchar(50),
NAME varchar(255) not null,
SORT int(11) not null default '500',
PRIMARY KEY(ID)
);
Но мне еще нужно где-то хранить ID выбранных пользователей, в этом и заключается мое не понимание, либо создавать еще одну колонку USERS и через запятую хранить в ней ID пользователей или создавать отдельную таблицу b_learn_class_user со следующим содержанием:
CREATE TABLE b_start_class_user
(
USER_ID INT(1 8) not null,
CLASS_ID INT(1 8) not null,
DATE_ACTIVE_FROM datetime,
DATE_ACTIVE_TO datetime,
UNIQUE ix_class_user (USER_ID, CLASS_ID),
INDEX ix_class_user_class (CLASS_ID)
);
С такой структурой таблиц встает вопрос, как делать выборку $arFields и как их выводить на странице редактирования элемента в административной части, $arField["USER_ID"] - будет массивом ID пользователей, как мне привязать пользователей к функции вывода и добавления пользователей FindUsersID.
Какая структура таблиц(ы) будет правильней и почему ? Подскажите пожалуйста!