Перейти к содержимому


Доступ к полям таблицы через поле связи по id поля.


Сообщений в теме: 2

#1 goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 29 Май 2020 - 17:56

Салют.
Есть поле связи условно 'f1_1'.
Создаю вычисление, в котором id поля связи помещаю в переменную как $f1_1 = 'f1_1'.
Далее пытаюсь получить значение поля 'f2_1' из связанной таблицы как $line[$f1_1]['f2_1'], возвращается NULL.
При этом, если обратиться без переменной как $line['f1_1']['f2_1'], возвращается искомое значение.
Как правильно обращаться к полям поля связи используя переменные?
Спасибо.
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Июнь 2020 - 17:49

По всей видимости никак, т.к. при сохранении вычисления идет анализ его кода на предмет наличия вложенных массивов у полей связи. Это необходимо для оптимизации механизма вычислений, чтобы не раскрывать зря поля связи до неограниченных пределов. В случае если вместо имени поля в коде стоит переменная, поле связи не находится и соответственно разложения его в массив во время работы не происходит. Могу разве что предложить искусственно упомянуть в коде все возможные используемые значения без переменной, возможно тогда анализатор успешно сработает.

#3 goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 03 Июнь 2020 - 18:09

Всё понятно. Спасибо. Да, условное упоминание поля без переменной срабатывало, но это уже получаются костыли)
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных