Doctrine Сериализатор: проблема при использовании групп - PullRequest
1 голос
/ 30 апреля 2020

Я использую symfony сериализатор для своих сущностей, и нет проблем, если всякий раз, когда я пытаюсь использовать группы в свойствах моей сущности, я получаю эту ошибку:

 [Semantical Error] The annotation "@Symfony\Component\Serializer\Annotation\Groups" in property 
 App\Entities\User::$id was never imported. Did you maybe forget to add a "use" statement for this 
 annotation?

Вот моя сущность:

namespace App\Entities;
use Doctrine\ORM\Mapping AS ORM;
use Symfony\Component\Serializer\Annotation\Groups;

/**
 * @ORM\Entity
 */
class User
{
   /**
    * @ORM\Id
    * @Groups("user_show")
    * @ORM\Column(type="string")
    */
    protected $id;

   /**
    * @ORM\Column(type="string")
    */
    protected $password;
}

И у меня есть этот код в моем AppServiceProvider (я использую Laravel)

public function boot()
{

    $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
    $encoders = [new JsonEncoder()];
    $normalizers = [new ObjectNormalizer($classMetadataFactory)];

    $this->app->bind(SerializerInterface::class, function () use ($normalizers, $encoders) {
        return new Serializer($normalizers, $encoders);
    });
}

1 Ответ

0 голосов
/ 02 мая 2020

Решил проблему, зарегистрировав symfony аннотации для laravel doctrine Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...