Если мы обращаемся к полю Селекта через # то будет взято значение или отображение?
Через #
берется значение
. Тоже самое происходит и при использовании select
.
Каким образом взять отображение?
Что бы взять сразу отображение нужно использовать префикс s
— #s.field_name
.
В момент, когда исполняется такое обращение селект рассчитывается, что сильно нагружает сервер.
Менее нагруженный способ:
=: select(table: 'select_table'; field: 'select_title'; where: 'id' = #select_value)
Каким образом взять отображение при помощи функции select?
По умолчанию select берет значение. Что бы взять отображение надо вместо field
использовать sfield
. Это также влияет на нагрузку.
Еще иногда бывает, что мы берем отображение для индивидуального селекта, зависящего там от других полей — в этом случае потребуется указать поля от которых он зависит в параметрах tfield
.
Ок, вот я взял значение селекта, например id товара. Как мне теперь получить цену этого товара?
=: select(table: 'price'; field: 'unit_price'; where: 'id' = #unit_select_field)
VK Video