У меня следующий вызов API:
/api/worker_profiles?person=1
Возвращает следующее, правильное JSON
{
"@context": "/api/contexts/WorkerProfile",
"@id": "/api/worker_profiles",
"@type": "hydra:Collection",
"hydra:member": [
{
"@id": "/api/worker_profiles/1",
"@type": "WorkerProfile",
"id": 1,
"enabled": true,
"firstName": "John",
"accesses": [
"/api/worker_has_accesses/1"
],
}
],
"hydra:totalItems": 1,
"hydra:view": {
"@id": "/api/worker_profiles?person=1",
"@type": "hydra:PartialCollectionView"
},
"hydra:search": {
"@type": "hydra:IriTemplate",
"hydra:template": "/api/worker_profiles{?person,person[]}",
"hydra:variableRepresentation": "BasicRepresentation",
"hydra:mapping": [
{
"@type": "IriTemplateMapping",
"variable": "person",
"property": "person",
"required": false
},
{
"@type": "IriTemplateMapping",
"variable": "person[]",
"property": "person",
"required": false
}
]
}
}
Доступ поступает от объекта:
/**
* @ORM\OneToMany(targetEntity="App\Entity\WorkerHasAccess", mappedBy="workerProfile")
* @ApiSubresource()
*/
private $accesses;
Теперь я зациклен на VueJS:
response.data['hydra:member'][0]['accesses'];
, который, конечно, возвращает URI.
Таблица worker_has_access связана с сайтами, с site_id, и поэтому я Очевидно, я хотел бы l oop с site.name