我尝试使用JMS序列化器从数据库(Symfony,Doctrine)加载对象进行反序列化。假设我有一个简单的足球API应用程序,两个实体Team和Game,在数据库中已经有ID为45和46的团队。
当从JSON创建新游戏时:
{
"teamHost": 45,
"teamGues": 46,
"scoreHost": 54,
"scoreGuest": 42,
游戏实体:
class Game {
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Team")
* @ORM\JoinColumn(nullable=false)
*/
private $teamHost;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Team")
* @ORM\JoinColumn(nullable=false)
*/
private $teamGuest;
我希望创建一个游戏对象,该对象已经从数据库中加载了球队。
$game = $this->serializer->deserialize($requestBody, \App\Entity\Game::class, 'json');
我发现类似于
jms_serializer.doctrine_object_constructor
的解决方案,但文档中没有具体的示例。您能否帮助我在反序列化过程中从数据库创建对象?