【发布时间】:2019-08-09 21:43:58
【问题描述】:
我的项目使用实体和 API 平台上的学说 2 类表继承来提供 API 端点。
/**
* @ORM\Entity(repositoryClass="App\Repository\PartyRepository")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({
* "org" = "Organization",
* "person" = "Person"
* })
* @ORM\HasLifecycleCallbacks()
*/
abstract class Party {}
/**
* @ApiResource()
* @ORM\Entity(repositoryClass="App\Repository\PersonRepository")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({
* "person" = "Person",
* "agent" = "Agent"
* })
* @ORM\HasLifecycleCallbacks()
*/
class Person extends Party {}
/**
* @ApiResource()
* @ORM\Entity(repositoryClass="App\Repository\AgentRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Agent extends Person {
private $affiliation;
}
问题是在查看Person 的 API 平台模型时,它具有所有子属性,例如 Agent::$affiliation。
Agent {
affiliation string
name string
readOnly: true
familyName string
givenName string
id string
readOnly: true
createdAt string($date-time)
updatedAt string($date-time)
}
Person {
name string
readOnly: true
familyName string
givenName string
id string
readOnly: true
createdAt string($date-time)
updatedAt string($date-time)
affiliation string
}
【问题讨论】:
标签: php symfony doctrine api-platform.com