Symfony - передать данные от другого лица

0

Я хочу установить свой регистрационный вызов в рамках регистрационного имени пользователя, должен получить код iso, который является полем в сущности Country. Система найдет страну по iso-коду и настроит ее в User. Таким образом, страна в User - это отношение к сущности страны.

Он возвращает null, когда он должен возвращать некоторое значение.

Мой регистрационный вызов api..

 public function registerUser($country)
{
    $user = new User();

    $country = $this->findCountry(['iso']);
    $user->setCountry($country);

    $this->em->persist($user);
    $this->em->flush();

    return $user;
}

И призыв api для моей страны.

public function findCountry($iso)
{
    $country = $this->getCountryRepository()->findBy([
        'iso' => $iso
    ]);
}

и мой класс пользователя enitty

class User extends BaseUser
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 * @Groups({"user_data"})
 */
protected $id;

/**
 * @ORM\ManyToOne(targetEntity="Country")
 * @JoinColumn(name="country_id", referencedColumnName="id")
 */
private $country;
  • 0
    Это настоящий код? Я имею в виду, iso (буквальный), что вы ищете?
  • 0
    да, это имя моего поля сущности.
Показать ещё 6 комментариев
Теги:

1 ответ

0

Вероятно, ваш метод registerUser должен иметь iso как параметр, а не страну

И тогда вы должны передать это iso как параметр для вашего вызова findCountry вместо передачи литерала iso, который, вероятно, не соответствует ни одному из стран.

Вот почему вы не получаете значений из репозитория.

  • 1
    Это должен быть комментарий, а не ответ. Более того, это должно добавить некоторые детали, а не повторять сказанное ранее. Пожалуйста, улучшите ответ, удалите его или прокомментируйте вопрос, добавив некоторую ценность другим комментариям. Благодарю.
  • 0
    iso - это имя столбца в моей таблице стран, если это что-то меняет
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню