api-platform / api-platform/core

[GraphQL] Iterable Type is required for mutations

Aberta
#1,944 1 comentário 1 reação 0 responsáveis Ver no GitHub
GraphQL
Linguagem predominante
PHP
Estrelas
2.6k
Forks
980
Merge médio
2d 5h
PRs com merge (30d)
48

Descrição

When the schema is generated for an array field, it seems like it always lists it as required when the setting has the default value set to an empty array.

For example, the following model will cause the `privileges` field to always be required, even though it should not be.

```php
class User {
/**
* @ORM\Column(type="text_array", nullable=true)
*
* @Groups({"read", "write"})
*/
private $privileges = [];

public function getPrivileges(): ?array
{
return $this->privileges;
}

public function setPrivileges(array $privileges = []): void
{
$this->privileges = array_unique($privileges);
}
}
```

The only way I have found to make it optional like it should be is to modify the setter to this:

```php
public function setPrivileges(array $privileges = null): void
{
$this->privileges = array_unique($privileges ?? []);
}
```

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.