diff --git a/src/Resolvers/TransformedDataResolver.php b/src/Resolvers/TransformedDataResolver.php index d615e976d..0e28f233a 100644 --- a/src/Resolvers/TransformedDataResolver.php +++ b/src/Resolvers/TransformedDataResolver.php @@ -59,7 +59,7 @@ private function transform(BaseData&TransformableData $data, TransformationConte return $payload; } - if ($property->type->isOptional && ! isset($data->{$name})) { + if ($property->type->isOptional && ! array_key_exists($name, get_object_vars($data))) { return $payload; } diff --git a/tests/DataCollectionTest.php b/tests/DataCollectionTest.php index 4f807860a..67d0071a7 100644 --- a/tests/DataCollectionTest.php +++ b/tests/DataCollectionTest.php @@ -80,7 +80,7 @@ }); test('a collection can be rejected', function () { - $collection = SimpleData::collection(['A', 'B']); + $collection = new DataCollection(SimpleData::class, ['A', 'B']); $filtered = $collection->reject(fn (SimpleData $data) => $data->string === 'B')->toArray();