我使用api-platform 用于REST API。我有实体用户:
class User implements UserInterface, \Serializable
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
* @Groups("read")
*/
private $id;
/**
* @ORM\Column(type="integer", options={"default" = 1})
* @Groups({"read", "write"})
* @Assert\Choice(choices={1,2})
* @Assert\Type("int")
*/
private $gender = 1;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Company", cascade={"persist"})
* @ORM\JoinColumn(name="company_id", referencedColumnName="id")
* @Groups({"read", "write"})
* @Assert\NotBlank()
*/
private $companyId;
........
以及相关的公司实体。 我的公司ID和性别字段的文档:
{
"@type":"hydra:SupportedProperty",
"hydra:property":{
"@id":"#User/companyId",
"@type":"hydra:Link",
"rdfs:label":"companyId",
"domain":"#User",
"owl:maxCardinality":1,
"range":"#Company"
},
"hydra:title":"companyId",
"hydra:required":true,
"hydra:readable":true,
"hydra:writable":true
},
{
"@type":"hydra:SupportedProperty",
"hydra:property":{
"@id":"#User/gender",
"@type":"rdf:Property",
"rdfs:label":"gender",
"domain":"#User",
"range":"@id"
},
"hydra:title":"gender",
"hydra:required":false,
"hydra:readable":true,
"hydra:writable":true
}
对于管理面板,我使用admin component on ReactJS。对于公司而言,一切都很完美,在管理面板中,我可以看到与相关公司的联系。我希望性别字段选择相同。换句话说,我想在我的API方案中提供可用于此值的值。我该怎么做?