Announcement

Collapse
No announcement yet.

Доступ к объектам по Multiple ссылке

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Доступ к объектам по Multiple ссылке

    Здравствуйте. Есть сущности Transaction и Service. Между ними связь многие-к-многим. В Transaction ссылка называется services. С помощью формулы пытаюсь получить значение поля у одного из объектов массива services, но ничего не работает.
    Code:
    //пытаюсь получить первый элемент из массива
    $service = array\at(services, 0);
    //и присвоить имя из имени объекта по ссылке
    name = $service.name;
    Вместо services так же пробовал servicesNames как в документации
    Last edited by dkvartal; 02-24-2021, 10:13 PM.

  • #2
    Немного не так.
    Code:
    $name = record\attribute('services',  array\at(services, $i), 'name');
    где $i - просто индекс по перебору массива, получается:
    Code:
    $i = 0;
    while($i < array\length(services), 'че-нить делаем'; 'и еще'; $i = $i + 1;);

    Comment


    • #3
      Originally posted by VikinGDM View Post
      Немного не так.
      Code:
      $name = record\attribute('services', array\at(services, $i), 'name');
      где $i - просто индекс по перебору массива, получается:
      Code:
      $i = 0;
      while($i < array\length(services), 'че-нить делаем'; 'и еще'; $i = $i + 1;);
      Спасибо. Может подскажете ещё с такой задачей. Есть объект сущности Transaction у которого есть поле services (multiple-link) к объекту сущности Service соответственно. Ещё у Transaction есть поле payer, которое является простой ссылкой к Account. У Service тоже есть поле firm, которое является простой ссылкой к Account. Нужно взять у первого Service из Transaction.services ссылку на Account (Service.firm) и присвоить её в Transaction.payer. Пытаюсь делать так:
      Code:
      $serviceId = array\at(servicesIds, 0);
      $payerLink = record\attribute('Service', $serviceId, 'firm');
      payer = $payerLink;
      И ничего не происходит. Раньше для таких задач с multiple-link я использовал функцию entity\addLinkMultipleId(), но я так понимаю для простых ссылок оно не подходит.

      Comment


      • #4
        Нашёл такое решение:
        Code:
        $serviceId = array\at(servicesIds, 0);
        $payerLinkId = record\attribute('Service', $serviceId, 'firmId');
        payerId = $payerLinkId;
        Вроде бы работает как надо. Только страницу приходится перезагружать, чтоб имя нормально отобразилось. До этого отображается как [object Object]

        Comment

        Working...
        X