TableRef — различия между версиями

Материал из DevelopmenOnTheEdge
Перейти к: навигация, поиск
(Новая страница: «{{ElementType|com.beanexplorer.enterprise.metadata.model.TableRef|нет}} '''Ссылка на ключ в другой таблице''' (TableRef) позво…»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
{{ElementType|com.beanexplorer.enterprise.metadata.model.TableRef|нет}}
+
{{ElementType|com.beanexplorer.enterprise.metadata.model.TableRef|нет|да}}
  
 
'''Ссылка на ключ в другой таблице''' (TableRef) позволяет устанавливать вспомогательные связи между таблицами, которые могут использоваться [[Operation|операциями]], например, для заполнения выпадающих списков. Связь имеет следующие свойства:
 
'''Ссылка на ключ в другой таблице''' (TableRef) позволяет устанавливать вспомогательные связи между таблицами, которые могут использоваться [[Operation|операциями]], например, для заполнения выпадающих списков. Связь имеет следующие свойства:
Строка 19: Строка 19:
 
       to: addresses.dummy
 
       to: addresses.dummy
 
       view: City from KLADR
 
       view: City from KLADR
Здесь создаётся ссылка с tableFrom = users, columnFrom = kladr::search::city, tableTo = addresses, columnTo = dummy, view = City from KLADR (такое представление должно существовать в сущности addresses, иначе будет предупреждение при [[синхронизации]]).
+
Здесь создаётся ссылка с tableFrom = users, columnFrom = kladr::search::city, tableTo = addresses, columnTo = dummy, view = City from KLADR (такое представление должно существовать в сущности addresses, иначе будет предупреждение при [[синхронизация|синхронизации]]).
  
 
  buildings:
 
  buildings:

Текущая версия на 11:05, 30 марта 2016

Класс
TableRef
Поддерживает документацию
нет
Поддерживает extras
да


Ссылка на ключ в другой таблице (TableRef) позволяет устанавливать вспомогательные связи между таблицами, которые могут использоваться операциями, например, для заполнения выпадающих списков. Связь имеет следующие свойства:

  • tableFrom: исходная сущность. Это та сущность, в которой связь объявлена.
  • columnFrom: исходная колонка. В данном случае это псевдо-колонка (например, kladr::search::street). Если вы хотите установить связь к существующей колонке, это необходимо сделать непосредственно в определении колонки.
  • tableTo: целевая сущность.
  • columnTo: целевая колонка. Может быть не указана, тогда автоматически используется первичный ключ целевой сущности.
  • view: имя представления в целевой сущности, которое используется для выбора элементов. По умолчанию — *** Selection view ***.

Ссылки располагаются в дереве проекта в папке References внутри сущности. Имя ссылки формируется автоматически по имени колонки и целевой сущности.

Ссылки сериализуются в yaml-файл сущности в секцию references. В качестве ключа указывается columnFrom. Свойства tableTo и columnTo сериализуются в одно поле to через точку. Если кроме поля to ничего нет, можно имя поля опустить.

Примеры

users:
  references:
    kladr::search::city:
      to: addresses.dummy
      view: City from KLADR

Здесь создаётся ссылка с tableFrom = users, columnFrom = kladr::search::city, tableTo = addresses, columnTo = dummy, view = City from KLADR (такое представление должно существовать в сущности addresses, иначе будет предупреждение при синхронизации).

buildings:
  references:
    buildingID: buildings

Здесь создаётся ссылка с tableFrom = buildings, columnFrom = buildingID, tableTo = buildings, columnTo = ID (первичный ключ у таблицы buildings), view = *** Selection view *** (по умолчанию).