Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Связь многие ко многим у разделов

27.11.2013, 00:50
Гость
Гость

Добрый день.

Стоит задача сделать связь многие ко многим на основе разделов. Использование списков не прокатит. Есть структура и точка. Никак не пойму как реализовать это штатными средствами.

Например, есть структура сайта:
...

5. Специалисты
---- 20. Петров
-------- 40. Подраздел A
-------- 41. Подраздел B
---- 21. Иванов
---- 22. Сидоров

7. Специальности
---- 30. Механник
-------- 50. Подраздел A
-------- 51. Подраздел B
---- 31. Инженер
---- 32. Дворник

...

Каждый специалист может иметь 0 или несколько специальностей.

Т.е. нужен тип поля-гибрид множественного списка и типа поля связь с объектом.
28.11.2013, 10:45
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Цитата:
связь многие ко многим на основе разделов

Умучаетесь на разделах это делать.

Для решения задачи нужны 3 таблицы (компонента) + связка с разделами:
1. Специальности
2. Сотрудники
3. Назначенные специальности сотрудникам (для реализации возможности указания нескольки спецаильностей по каждому сотруднику)

Разделы - тут 2 варианта, зависит от конкретных ваших целей:
1. Реально под каждую специальность и сотрудника задавать свой раздел. В этом случае в таблицу разделов добавляете поле фильтр, куда можете вставить условие формирования sql-выборки, т.е. есть запрос select ... from ... where {условие} - вот то что в фигурных скобках выносите в доп. поля раздела и гибко настраиваете фильтры по каждому разделу.

2. Совместить API вывода разделов с API вывода записей компонента. Т.е. внешне для юзера дерево будет выглядеть как на вашей примере, но только первый уровень - это реальный раздел, а 2й уровень - это записи компонента. Имхо, так проще.

Temet nosce...
198 196 2013-11-28 10:45:45 13407
Описание проекта