Технически через метод init() датасорса связать можно кого угодно с кем угодно (метод addLink на QueryBuildDatasource)
Но сразу возникает вопрос - а как хочется, чтобы работал результат?
Пример 1.
Таблица 2 подчинена таблице 1; таблица 3 - также подчинена таблице 1. При перемещении записи на таблице 1 - система автоматом обновляет позиционирование на таблицах 2 и 3 по событию active() на датасорсе таблицы 1
Пример 2.
Таблица 2 подчинена таблице 1; таблица 3 - подчинена таблице 2. При перемещении записи на таблице 1 - система автоматом обновляет позиционирование на таблице 2, а от позиционирования на таблице 2 - обновляется позиционирование на таблице 3.
Теперь вопрос - если таблица 3 подчинена таблице 1 и таблице 2 - в какой момент должно выполняться позиционирование на таблице 3? При перемещении записи на таблице 1 или таблицы 2? И если таблицы 2 - то:
а) как об этом догадается система (для нее все линки равны и подчинение по сути лежит только у нас в головах, а в системе есть только линки)?
б) с учетом условий таблицы 1 или нет?
Т.е. здесь нужно ситуацию свести либо к примеру 1, либо к примеру 2.
Также нельзя забывать, что БД - это не чёрный ящик, а тоже система. И упрощение запросов к ней напрямую влияет на скорость работы системы.
__________________
Возможно сделать все. Вопрос времени
|