Получение поля внешнего ключа кроме id в symfony - PullRequest
0 голосов
/ 10 мая 2011

У меня есть таблица 'comment', расследование, в котором есть поле, ссылающееся на другую таблицу 'sf_guard_user'.В тот момент, когда я ставлю

<?php echo $investigationComment->getUserId() ?>

, я получаю значение id строки внешней таблицы.Я хочу иметь возможность получить значение поля имени.

Где-то еще в моем проекте я смог опустить id из getUserId (), а затем положить-> getName (), и это принесло мне это значение поля, но по этой причине по какой-то причине это не происходит.Как я могу получить значение имени для строки внешнего ключа?

Ответы [ 2 ]

5 голосов
/ 10 мая 2011

Просто сначала получите объект отношения, а затем вызовите любое свойство этого отношения.

<?php echo $comment->getUser()->getName() ?>

Это будет работать, если вы определили псевдоним «Пользователь» в своем отношении так:

//config.yml
Comment:
  relations:
    sfGuardUser:
      alias: User
      foreignAlias: Comments
      local: user_id
      foreign: id

или

//config.yml
Comment:
  relations:
    User:
      class: sfGuardUser
      foreignAlias: Comments
      local: user_id
      foreign: id
0 голосов
/ 11 июня 2017

Самый простой способ сделать это - добавить следующий класс внешней сущности

public function __toString(){
    return $this->getAPropertyOnYourEntity();
}

Теперь, вместо возврата идентификатора, сущность может вернуть любое свойство, которое вы хотите, из функции __toString ().

...