所以我有一个Doctrine 2 ORM实体,Trust,有几个一对多的关系。我无法解决如何为这些填充数组的问题。
class Trust implements \JsonSerializable {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="TrustPurpose", mappedBy="trust")
*/
private $purpose;
public function __construct() {
}
public function jsonSerialize() {
return [
'id' => $this->id,
'name' => $this->name,
[...]
'purpose' => $this->purpose,
[...]
];
}
}
在我的控制器中,我可能会使用以下内容。
return new JsonResponse($this->entityManager->find(Trust::class, 1));
获得以下输出
{
"id" : 1,
"name" : "Some Trust",
"purpose" : {
}
}
我很难找到如何编辑实体信任以自动填充目的记录的文档?
TrustPurpose
class TrustPurpose implements \JsonSerializable {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=false)
*/
private $purpose;
/**
* @ORM\ManyToOne(targetEntity="Trust", inversedBy="purpose")
* @ORM\JoinColumn(name="trust_id", referencedColumnName="id")
*/
private $trust;
public function __construct() {
}
public function jsonSerialize() {
return [
'id' => $this->id,
'purpose' => $this->purpose,
'trust' => $this->trust,
];
}
}