Building a sample app with api-platform for backend, but lack of knowledge · Issue #501 · api-platform/api-platform · GitHub
Skip to content

Building a sample app with api-platform for backend, but lack of knowledge #501

Closed

Description

@Rebolon

Hi,
i'm playing with Api-Platform on a Sf4 project where the aim is to write our guidelines to build apps in my client company. At the beginning i just wanted to show how to build an hybrid SPA application. I say hybrid coz it's served by Sf4 instead of being fully standalone, but it will allows us to bring this in existing application. I was surprised by how easy it is to bring VueJS or React into Symfony.
But, now i'm facing a new problem : for a more complex demo with complex forms, i need to build an api so i choose ApiPlatform which seems to be really interesting.

I did a simple data model with books/authors/editors/series... which lead to ManyToOne and kindOf ManyToMany (but splitted into ManyToOne with associative tables to allow more properties in association). Now i don't really know how to setup the Api :-(

Why ? my GET routes have circular reference exception (Books is linked to ProjectBookCreation which is linked to Authors and... Books), and my PUT/POST routes doesn't have overloded methods that allow to post all required information : to PUT/POST a book i wish to post at the same time all authors and editors linked to that book...

If you have any information s that might help me to build quickly this part of the app that would be cool.

The project is here (branch orm-for-form-demo) : https://github.com/Rebolon/php-sf-flex-webpack-encore-vuejs/tree/feature/orm-for-form-demo
The README.md should be enough to start the project (everything is done with NPM).
I will certainly write a new article on medium once all is done, and i will promote all libs/technologies used, and all persons that helped me !

Thanks

Activity

  1. dunglas commented on Dec 27, 2017

    @dunglas
    Member

    Hi,

    Thanks for trying API Platform!

    I don't get exactly the problem you have. API Platform handles circular references natively thanks to its hypermedia capabilities.

    Can you copy the error you get?

    Best regards,

  2. Rebolon commented on Dec 27, 2017

    @Rebolon
    Author

    Here is one circular error when retreiving books from serie 1 : /api/series/1/books

    {
      "@context": "/api/contexts/Error",
      "@type": "hydra:Error",
      "hydra:title": "An error occurred",
      "hydra:description": "A circular reference has been detected when serializing the object of class \"App\\Entity\\Library\\ProjectBookCreation\" (configured limit: 1)",
      "trace": [
        {
          "namespace": "",
          "short_class": "",
          "class": "",
          "type": "",
          "function": "",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php",
          "line": 195,
          "args": []
        },
        {
          "namespace": "Symfony\\Component\\Serializer\\Normalizer",
          "short_class": "AbstractNormalizer",
          "class": "Symfony\\Component\\Serializer\\Normalizer\\AbstractNormalizer",
          "type": "->",
          "function": "handleCircularReference",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php",
          "line": 66,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\ProjectBookCreation"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer\\Normalizer",
          "short_class": "AbstractObjectNormalizer",
          "class": "Symfony\\Component\\Serializer\\Normalizer\\AbstractObjectNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\ProjectBookCreation"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionNormalizer.php",
          "line": 69,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\ProjectBookCreation"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/PartialCollectionViewNormalizer.php",
          "line": 49,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "PartialCollectionViewNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\PartialCollectionViewNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionFiltersNormalizer.php",
          "line": 65,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionFiltersNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionFiltersNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Serializer/AbstractItemNormalizer.php",
          "line": 445,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Serializer",
          "short_class": "AbstractItemNormalizer",
          "class": "ApiPlatform\\Core\\Serializer\\AbstractItemNormalizer",
          "type": "->",
          "function": "getAttributeValue",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php",
          "line": 80,
          "args": [
            [
              "object",
              "Proxies\\__CG__\\App\\Entity\\Library\\Author"
            ],
            [
              "string",
              "books"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer\\Normalizer",
          "short_class": "AbstractObjectNormalizer",
          "class": "Symfony\\Component\\Serializer\\Normalizer\\AbstractObjectNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Serializer/AbstractItemNormalizer.php",
          "line": 100,
          "args": [
            [
              "object",
              "Proxies\\__CG__\\App\\Entity\\Library\\Author"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab52c000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Author"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Serializer",
          "short_class": "AbstractItemNormalizer",
          "class": "ApiPlatform\\Core\\Serializer\\AbstractItemNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/JsonLd/Serializer/ItemNormalizer.php",
          "line": 73,
          "args": [
            [
              "object",
              "Proxies\\__CG__\\App\\Entity\\Library\\Author"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Author"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\JsonLd\\Serializer",
          "short_class": "ItemNormalizer",
          "class": "ApiPlatform\\Core\\JsonLd\\Serializer\\ItemNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "Proxies\\__CG__\\App\\Entity\\Library\\Author"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/authors/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Author"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php",
          "line": 98,
          "args": [
            [
              "object",
              "Proxies\\__CG__\\App\\Entity\\Library\\Author"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer\\Normalizer",
          "short_class": "AbstractObjectNormalizer",
          "class": "Symfony\\Component\\Serializer\\Normalizer\\AbstractObjectNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\ProjectBookCreation"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ],
                    "000000004ddab50b000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionNormalizer.php",
          "line": 69,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\ProjectBookCreation"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/PartialCollectionViewNormalizer.php",
          "line": 49,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "PartialCollectionViewNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\PartialCollectionViewNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionFiltersNormalizer.php",
          "line": 65,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionFiltersNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionFiltersNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Serializer/AbstractItemNormalizer.php",
          "line": 445,
          "args": [
            [
              "object",
              "Doctrine\\ORM\\PersistentCollection"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Serializer",
          "short_class": "AbstractItemNormalizer",
          "class": "ApiPlatform\\Core\\Serializer\\AbstractItemNormalizer",
          "type": "->",
          "function": "getAttributeValue",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php",
          "line": 80,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\Book"
            ],
            [
              "string",
              "projectBookCreation"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer\\Normalizer",
          "short_class": "AbstractObjectNormalizer",
          "class": "Symfony\\Component\\Serializer\\Normalizer\\AbstractObjectNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Serializer/AbstractItemNormalizer.php",
          "line": 100,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\Book"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ],
                "cache_key": [
                  "boolean",
                  false
                ],
                "circular_reference_limit": [
                  "array",
                  {
                    "000000004ddab532000000006996f33b": [
                      "integer",
                      1
                    ]
                  }
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Serializer",
          "short_class": "AbstractItemNormalizer",
          "class": "ApiPlatform\\Core\\Serializer\\AbstractItemNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/JsonLd/Serializer/ItemNormalizer.php",
          "line": 73,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\Book"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ],
                "api_normalize": [
                  "boolean",
                  true
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\JsonLd\\Serializer",
          "short_class": "ItemNormalizer",
          "class": "ApiPlatform\\Core\\JsonLd\\Serializer\\ItemNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\Book"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ],
                "iri": [
                  "string",
                  "/api/books/1"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionNormalizer.php",
          "line": 89,
          "args": [
            [
              "object",
              "App\\Entity\\Library\\Book"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/PartialCollectionViewNormalizer.php",
          "line": 49,
          "args": [
            [
              "object",
              "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ],
                "jsonld_has_context": [
                  "boolean",
                  true
                ],
                "api_sub_level": [
                  "boolean",
                  true
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "PartialCollectionViewNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\PartialCollectionViewNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/Hydra/Serializer/CollectionFiltersNormalizer.php",
          "line": 65,
          "args": [
            [
              "object",
              "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\Hydra\\Serializer",
          "short_class": "CollectionFiltersNormalizer",
          "class": "ApiPlatform\\Core\\Hydra\\Serializer\\CollectionFiltersNormalizer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 133,
          "args": [
            [
              "object",
              "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "normalize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/serializer/Serializer.php",
          "line": 106,
          "args": [
            [
              "object",
              "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\Serializer",
          "short_class": "Serializer",
          "class": "Symfony\\Component\\Serializer\\Serializer",
          "type": "->",
          "function": "serialize",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php",
          "line": 69,
          "args": [
            [
              "object",
              "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
              "string",
              "jsonld"
            ],
            [
              "array",
              {
                "subresource_operation_name": [
                  "string",
                  "api_series_books_get_subresource"
                ],
                "operation_type": [
                  "string",
                  "subresource"
                ],
                "resource_class": [
                  "string",
                  "App\\Entity\\Library\\Book"
                ],
                "request_uri": [
                  "string",
                  "/api/series/1/books"
                ],
                "uri": [
                  "string",
                  "http://localhost/api/series/1/books"
                ],
                "subresource_identifiers": [
                  "array",
                  {
                    "id": [
                      "string",
                      "1"
                    ]
                  }
                ],
                "subresource_resources": [
                  "array",
                  {
                    "App\\Entity\\Library\\Serie": [
                      "array",
                      {
                        "id": [
                          "string",
                          "1"
                        ]
                      }
                    ]
                  }
                ],
                "resources": [
                  "object",
                  "class@anonymous\u0000/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/api-platform/core/src/EventListener/SerializeListener.php0x7f9d12ab57d9"
                ]
              }
            ]
          ]
        },
        {
          "namespace": "ApiPlatform\\Core\\EventListener",
          "short_class": "SerializeListener",
          "class": "ApiPlatform\\Core\\EventListener\\SerializeListener",
          "type": "->",
          "function": "onKernelView",
          "file": null,
          "line": null,
          "args": [
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ],
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher"
            ]
          ]
        },
        {
          "namespace": "",
          "short_class": "",
          "class": "",
          "type": "",
          "function": "call_user_func",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/event-dispatcher/Debug/WrappedListener.php",
          "line": 104,
          "args": [
            [
              "array",
              [
                [
                  "object",
                  "ApiPlatform\\Core\\EventListener\\SerializeListener"
                ],
                [
                  "string",
                  "onKernelView"
                ]
              ]
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ],
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\EventDispatcher\\Debug",
          "short_class": "WrappedListener",
          "class": "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener",
          "type": "->",
          "function": "__invoke",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/event-dispatcher/EventDispatcher.php",
          "line": 212,
          "args": [
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ],
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\EventDispatcher\\EventDispatcher"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\EventDispatcher",
          "short_class": "EventDispatcher",
          "class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
          "type": "->",
          "function": "doDispatch",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/event-dispatcher/EventDispatcher.php",
          "line": 44,
          "args": [
            [
              "array",
              [
                [
                  "object",
                  "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                ],
                [
                  "object",
                  "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                ],
                [
                  "object",
                  "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                ],
                [
                  "object",
                  "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                ],
                [
                  "object",
                  "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                ]
              ]
            ],
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\EventDispatcher",
          "short_class": "EventDispatcher",
          "class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
          "type": "->",
          "function": "dispatch",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php",
          "line": 139,
          "args": [
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\EventDispatcher\\Debug",
          "short_class": "TraceableEventDispatcher",
          "class": "Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher",
          "type": "->",
          "function": "dispatch",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/http-kernel/HttpKernel.php",
          "line": 156,
          "args": [
            [
              "string",
              "kernel.view"
            ],
            [
              "object",
              "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\HttpKernel",
          "short_class": "HttpKernel",
          "class": "Symfony\\Component\\HttpKernel\\HttpKernel",
          "type": "->",
          "function": "handleRaw",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/http-kernel/HttpKernel.php",
          "line": 66,
          "args": [
            [
              "object",
              "Symfony\\Component\\HttpFoundation\\Request"
            ],
            [
              "integer",
              1
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\HttpKernel",
          "short_class": "HttpKernel",
          "class": "Symfony\\Component\\HttpKernel\\HttpKernel",
          "type": "->",
          "function": "handle",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/vendor/symfony/http-kernel/Kernel.php",
          "line": 190,
          "args": [
            [
              "object",
              "Symfony\\Component\\HttpFoundation\\Request"
            ],
            [
              "integer",
              1
            ],
            [
              "boolean",
              true
            ]
          ]
        },
        {
          "namespace": "Symfony\\Component\\HttpKernel",
          "short_class": "Kernel",
          "class": "Symfony\\Component\\HttpKernel\\Kernel",
          "type": "->",
          "function": "handle",
          "file": "/mnt/d/dev/php/projects/php-sf-flex-webpack-encore-vuejs/public/index.php",
          "line": 25,
          "args": [
            [
              "object",
              "Symfony\\Component\\HttpFoundation\\Request"
            ]
          ]
        }
      ]
    }
    
  3. dunglas commented on Dec 28, 2017

    @dunglas
    Member

    It's because the ProjectBookCreation is not marked with @ApiResource, so it's not handled by the API Platform (it is by the Symfony one), and as there is a circular reference, an error is thrown.
    If ProjectBookCreation where an API resource, the circular reference would be handled automatically. If you don't want to make it a resource, you need to register a circular reference handler by yourself: https://symfony.com/doc/current/components/serializer.html#handling-circular-references

  4. Rebolon commented on Dec 28, 2017

    @Rebolon
    Author

    I have just found this ! and another thing seems to write the getter for the identifier if i don't want to get Unable to generate an IRI for the item of type...

    Thanks, just need now to writ specific PUT/POST route on Book entity to be able to add Editors and Authors at the same time

  5. elvismdev commented on Feb 2, 2019

    @elvismdev

    @dunglas I'm having this same issue, with an Order entity that has a relationship with User entity.

    Here part of my error:

    {
        "@context": "/api/contexts/Error",
        "@type": "hydra:Error",
        "hydra:title": "An error occurred",
        "hydra:description": "A circular reference has been detected when serializing the object of class \"App\\Entity\\User\" (configured limit: 1)",
        "trace": [
            {
                "namespace": "",
                "short_class": "",
                "class": "",
                "type": "",
                "function": "",
                "file": "/home/elvismdev/WWW/my-symfony-app/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php",
                "line": 255,
                "args": []
            },
    ...
    

    Order entity is marked with @ApiResource but User is not. I don't need/want to make User an API resource, only Order. It seems to me that I have to register a circular reference handler by myself following the symfony docs here: https://symfony.com/doc/current/components/serializer.html#handling-circular-references

    However, I'm a bit lost around how or where I should put the custom callable code following the example there:

    $encoder = new JsonEncoder();
    $normalizer = new ObjectNormalizer();
    
    // all callback parameters are optional (you can omit the ones you don't use)
    $normalizer->setCircularReferenceHandler(function ($object, string $format = null, array $context = []) {
        return $object->getName();
    });
    
    $serializer = new Serializer([$normalizer], [$encoder]);
    var_dump($serializer->serialize($org, 'json'));
    // {"name":"Les-Tilleuls.coop","members":[{"name":"K\u00e9vin", organization: "Les-Tilleuls.coop"}]}

    Could you provide some more context or an example where that would go?

    If that's useful, here are my Order and User entities:

    <?php
    // src/Entity/Order.php
    
    namespace App\Entity;
    
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Mapping\Annotation as Gedmo;
    use Symfony\Component\Validator\Constraints as Assert;
    use ApiPlatform\Core\Annotation\ApiResource;
    
    /**
     * @ApiResource
     * @ORM\Table(name="`order`")
     * @ORM\Entity(repositoryClass="App\Repository\OrderRepository")
     */
    class Order
    {
        /**
         * @ORM\Id()
         * @ORM\GeneratedValue()
         * @ORM\Column(type="integer")
         */
        private $id;
    
        /**
         * @ORM\Column(type="string", length=7)
         * @Assert\NotBlank(message="order_form_validation_msg.telephone")
         * @Assert\Type(type="numeric", message="order_form_validation_msg.telephone_num_only")
         * @Assert\Length(
         *      min=7,
         *      max=7,
         *      exactMessage="order_form_validation_msg.only_seven_digits"
         * )
         */
        private $telephone;
    
        /**
         * @Gedmo\Timestampable(on="create")
         * @ORM\Column(type="datetime")
         */
        private $createdAt;
    
        /**
         * @Gedmo\Timestampable(on="update")
         * @ORM\Column(type="datetime")
         */
        private $updatedAt;
    
        /**
         * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="orders")
         * @ORM\JoinColumn(nullable=false)
         */
        private $author;
    
        /**
         * @ORM\Column(type="integer")
         */
        private $salePrice;
    
        /**
         * @ORM\Column(type="decimal", precision=10, scale=2)
         */
        private $commision;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $status;
    
        /**
         * @ORM\ManyToOne(targetEntity="App\Entity\TopUpPackage", inversedBy="orders")
         * @ORM\JoinColumn(nullable=false)
         */
        private $topUpPackage;
    
        /**
         * @ORM\Column(type="integer")
         */
        private $reloadlyTxID;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $sentVia;
    
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function getTelephone(): ?string
        {
            return $this->telephone;
        }
    
        public function setTelephone(?string $telephone): self
        {
            $this->telephone = $telephone;
    
            return $this;
        }
    
        public function getCreatedAt(): ?\DateTimeInterface
        {
            return $this->createdAt;
        }
    
        public function setCreatedAt(\DateTimeInterface $createdAt): self
        {
            $this->createdAt = $createdAt;
    
            return $this;
        }
    
        public function getUpdatedAt(): ?\DateTimeInterface
        {
            return $this->updatedAt;
        }
    
        public function setUpdatedAt(\DateTimeInterface $updatedAt): self
        {
            $this->updatedAt = $updatedAt;
    
            return $this;
        }
    
        public function getAuthor(): ?User
        {
            return $this->author;
        }
    
        public function setAuthor(?User $author): self
        {
            $this->author = $author;
    
            return $this;
        }
    
        public function getSalePrice(): ?int
        {
            return $this->salePrice;
        }
    
        public function setSalePrice(int $salePrice): self
        {
            $this->salePrice = $salePrice;
    
            return $this;
        }
    
        public function getCommision()
        {
            return $this->commision;
        }
    
        public function setCommision($commision): self
        {
            $this->commision = $commision;
    
            return $this;
        }
    
        public function getStatus(): ?string
        {
            return $this->status;
        }
    
        public function setStatus(string $status): self
        {
            $this->status = $status;
    
            return $this;
        }
    
        public function getTopUpPackage(): ?TopUpPackage
        {
            return $this->topUpPackage;
        }
    
        public function setTopUpPackage(?TopUpPackage $topUpPackage): self
        {
            $this->topUpPackage = $topUpPackage;
    
            return $this;
        }
    
        public function getReloadlyTxID(): ?int
        {
            return $this->reloadlyTxID;
        }
    
        public function setReloadlyTxID(int $reloadlyTxID): self
        {
            $this->reloadlyTxID = $reloadlyTxID;
    
            return $this;
        }
    
        public function getSentVia(): ?string
        {
            return $this->sentVia;
        }
    
        public function setSentVia(string $sentVia): self
        {
            $this->sentVia = $sentVia;
    
            return $this;
        }
    
        /**
         * @return string
         */
        public function __toString() : string
        {
            return $this->getId() . ' - (+535)' . $this->getTelephone();
        }
    }
    <?php
    // src/Entity/User.php
    
    namespace App\Entity;
    
    use Doctrine\Common\Collections\ArrayCollection;
    use Doctrine\Common\Collections\Collection;
    use Doctrine\ORM\Mapping as ORM;
    use FOS\UserBundle\Model\User as BaseUser;
    use Symfony\Component\Validator\Constraints as Assert;
    
    
    /**
     * @ORM\Entity
     * @ORM\Table(name="`user`")
     */
    class User extends BaseUser {
    
    	/**
    	 * @ORM\Id
    	 * @ORM\GeneratedValue(strategy="AUTO")
    	 * @ORM\Column(type="integer")
    	 */
    	protected $id;
    
        /**
         * @ORM\OneToMany(targetEntity="App\Entity\Order", mappedBy="author")
         */
        private $orders;
    
        /**
         * @ORM\Column(type="integer", nullable=true)
         */
        private $resellerAddedValue;
    
        public function __construct()
        {
            parent::__construct();
            $this->orders = new ArrayCollection();
        }
    
    
        /**
         * @return int
         */
        public function getId() {
        	return $this->id;
        }
    
        /**
         *  Override setEmail method from FOSUserBundle.
         * @param string $email
         * @return object
         */
        public function setEmail($email) {
            // We will no require usernames to users. they will login and register with email only.
            $this->setUsername($email);
    
            return parent::setEmail($email);
        }
    
        /**
         * @return Collection|Order[]
         */
        public function getOrders(): Collection
        {
            return $this->orders;
        }
    
        public function addOrder(Order $order): self
        {
            if (!$this->orders->contains($order)) {
                $this->orders[] = $order;
                $order->setAuthor($this);
            }
    
            return $this;
        }
    
        public function removeOrder(Order $order): self
        {
            if ($this->orders->contains($order)) {
                $this->orders->removeElement($Order);
                // set the owning side to null (unless already changed)
                if ($order->getAuthor() === $this) {
                    $order->setAuthor(null);
                }
            }
    
            return $this;
        }
    
        public function getResellerAddedValue(): ?int
        {
            return $this->resellerAddedValue;
        }
    
        public function setResellerAddedValue(int $resellerAddedValue): self
        {
            $this->resellerAddedValue = $resellerAddedValue;
    
            return $this;
        }
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions