Код: Выделить всё
#[ApiResource(
uriTemplate: '/companies/{companyId}/employees',
uriVariables: [
'companyId' => new Link(fromClass: Company::class, toProperty: 'company'),
],
operations: [ new GetCollection() ]
)]
uriTemplate: '/workers/{workerId}/addresses',
uriVariables: [
'workerId' => new Link(fromClass: worker::class, toProperty: 'worker'),
],
input: AddressInputDto::class,
processor: AddressStateProcessor::class
)]
class Address
{
#[ORM\Id, ORM\Column, ORM\GeneratedValue]
public ?int $id;
#[ORM\Column]
public string $addressblablabla;
#[ORM\ManyToOne(inversedBy: 'addresses')]
public ?Worker $worker = null;
public function getId()
{
return $this->id;
}
}
< /code>
И это работает! Но только один раз на работника. Это проблема.
Если я хочу сохранить второй адрес для одного и того же работника, я получаю хорошую ошибку: < /p>
{
"@context": "/contexts/Error",
"@id": "/errors/500",
"@type": "Error",
"title": "An error occurred",
"detail": "More than one result was found for query although one row or none was expected.",
"status": 500,
"type": "/errors/500",
"trace": [
{
"file": "/app/vendor/api-platform/doctrine-orm/State/ItemProvider.php",
"line": 90,
"function": "getOneOrNullResult",
"class": "Doctrine\\ORM\\AbstractQuery",
"type": "->"
},
// ...
]
}
< /code>
Итак, у меня есть несколько вопросов:
можно ли использовать новую ссылку в конфигурации мочеиспускания для операции пост? Если да, то это хорошая практика? Если да, то как мне настраивать его, чтобы больше не иметь этой ошибки?
Спасибо за вашу помощь.
Подробнее здесь: https://stackoverflow.com/questions/797 ... a-new-link
Мобильная версия