gpt4 book ai didi

php - Symfony - 从其他实体传递数据

转载 作者:行者123 更新时间:2023-11-29 17:20:49 26 4
gpt4 key购买 nike

我想在用户实体中设置我的注册调用注册调用应接收国家/地区实体中字段的 ISO 代码。系统将通过 iso 代码查找国家并将其设置在用户中。因此用户中的国家/地区与国家/地区实体相关。

当它应该返回某个值时它返回 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
]);
}

和我的用户实体类

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”。

这就是为什么您无法从存储库中获取任何值的原因。

关于php - Symfony - 从其他实体传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51267541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com