Я хочу проверить access_control из подресурса, но он не работает.
Моя первая сущность имеет отношения OneToMany со второй.
ЦСИ / Entity / Course.php
/**
* @ApiResource(
* collectionOperations={
* "get"={"access_control"="object.userCompanyRoles.user == user"}
* }
* )
*
* @ORM\Table(name="course")
* @ORM\Entity(repositoryClass="App\Repository\CourseRepository")
*/
class Course
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="UserCompanyRole", mappedBy="course")
* @ApiSubresource()
*/
private $userCompanyRoles;
}
ЦСИ / Entity / UserCompanyRole.php
/**
* @ApiResource()
* @ORM\Table(name="user_company_role")
* @ORM\Entity(repositoryClass="App\Repository\UserCompanyRoleRepository")
*/
class UserCompanyRole
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Course", inversedBy="userCompanyRoles", cascade={"all"})
*/
private $course;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="userCompanyRoles", cascade={"all"})
* @ORM\JoinColumn(nullable=false)
*/
private $user;
}
Но когда я отправляю запрос, у меня есть это:
"гидра: описание": "Примечание: неопределенное свойство: ApiPlatform \ Core \ Bridge \ Doctrine \ Orm \ Paginator :: $ userCompanyRoles",
Я не могу упростить свои отношения, потому что многие пользователи могут иметь много ролей на курсах.
У кого-нибудь есть предложения по моей проблеме?
Спасибо.