api-platform / api-platform/core

[GraphQL] Iterable Type is required for mutations

未关闭
#1,944 1 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
GraphQL
主要语言
PHP
星标
2.6k
派生
980
平均合并
2 天 5 小时
30 天内合并 PR
48

描述

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 ?? []);
}
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。