Relselect
Как использовать компонент Relselect
Теперь по аналогии можно сделать и страницу для списка городов. Единственное важное отличие заключается в том, что при создании города должна выбираться страна, в которой он расположен.
Компонент Relselect
Для реализации данной возможности подходит компонент Relselect. Он позволяет сделать выбор из списка данных, которые уже занесены в базу. Разберем это на примере.
Добавление компонента Relselect запускает процедуру его начальной настройки. Необходимо выбрать источник данных (нас интересует список стран, поэтому выбираем модель Country), поле для отображения (name является самым логичным вариантом, хотя можно выбрать и любое другое) а также режим Single или Multiple (город может находиться только в одной стране, поэтому выбираем Single).
Следующий шаг - получение списка стран, которые будут доступны для выбора. Этот процесс похож на тот, что необходимо было сделать для отображения данных в таблице. Помним про то, что изначально любой компонент является пустым, а для получения данных требуется сделать соответствующий запрос к базе.
Воспользуемся триггером onCreate, для запуска сразу в момент создания компонента, выполним запрос к базе данных с помощью блока Server request GET /Country/ и добавим полученные данные блоком RelSelect Update Properties.
На этом список стран становится доступен для выбора. Остается лишь узнать выбранное значение и сохранить его при добавлении нового города. Для этого понадобится блок RelSelect Get Properties и его выходной параметр .
Если все было сделано правильно (и использован параметр _with при получении данных), то теперь в списке стран появляется информация и о том, какие города в ней расположены.