我有一个实体,它有两个manyToOne,想要在序列化期间换行。
namespace AppBundle\Entity\Fleet;
use AppBundle\Entity\Account\Site;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class Equipment
{
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Account\Site")
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
protected $siteOwner;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Account\Contact")
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
protected $contactOwner;
}
序列化为
{
"owner": {
"site": {...},
"contact": {...}
}
}
所以我做了一个简单的吸气剂。
/**
* @Groups({"read"})
*/
public function getOwner()
{
return [
'site' => $this->siteOwner,
'contact' => $this->contactOwner,
];
}
Site
和Contact
个实体也是具有工作端点的ApiResource。但是在序列化过程中出现错误:No resource class found for object of type "AppBundle\Entity\Account\Site".
有什么想法吗?
更新
我能够通过api-platform演示重现同样的问题。我已经分解了基础演示,added a custom getter on the review entity。
得到相同的No resource class found for object of type AppBundle\Entity\Book