Я хочу установить свой регистрационный вызов в рамках регистрационного имени пользователя, должен получить код 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;
Вероятно, ваш метод registerUser должен иметь iso как параметр, а не страну
И тогда вы должны передать это iso как параметр для вашего вызова findCountry вместо передачи литерала iso, который, вероятно, не соответствует ни одному из стран.
Вот почему вы не получаете значений из репозитория.
iso
(буквальный), что вы ищете?