diff --git a/src/Folklore/GraphQL/GraphQL.php b/src/Folklore/GraphQL/GraphQL.php index 53cfb98c..c255d2c8 100644 --- a/src/Folklore/GraphQL/GraphQL.php +++ b/src/Folklore/GraphQL/GraphQL.php @@ -192,11 +192,21 @@ public function addType($class, $name = null) public function addSchema($name, $schema) { - $this->schemas[$name] = $schema; + $this->mergeSchemas($name, $schema); event(new SchemaAdded($schema, $name)); } + public function mergeSchemas($name, $schema) + { + if (isset($this->schemas[$name]) && $this->schemas[$name]) { + $this->schemas[$name] = array_merge_recursive($this->schemas[$name], $schema); + } + else { + $this->schemas[$name] = $schema; + } + } + public function clearType($name) { if (isset($this->types[$name])) {