diff --git a/Annotation/Annotation.php b/Annotation/Annotation.php index 2c6f7320..98532a98 100644 --- a/Annotation/Annotation.php +++ b/Annotation/Annotation.php @@ -125,9 +125,16 @@ class Annotation extends Component return []; } + $construct = $reflect->getConstructor(); + if (!empty($construct) && count($params = $construct->getParameters()) > 0) { + if (!$params[0]->isOptional()) { + return []; + } + } + $def = Snowflake::getDi()->getDependencies($class); - $object = $reflect->newInstanceArgs($def); + $object = $reflect->newInstance($def); $this->resolveMethod($reflect, $class, $alias, $object); return $this->targets($reflect); } catch (\Throwable $throwable) { diff --git a/Database/Base/AbstractCollection.php b/Database/Base/AbstractCollection.php index d3b9135f..79ee3503 100644 --- a/Database/Base/AbstractCollection.php +++ b/Database/Base/AbstractCollection.php @@ -46,7 +46,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat * @param array $array * @param null $model */ - public function __construct(ActiveQuery $query, array $array = [], $model = null) + public function __construct($query, array $array = [], $model = null) { $this->_item = $array; $this->query = $query; diff --git a/Database/Base/CollectionIterator.php b/Database/Base/CollectionIterator.php index d589e1c9..c1de303c 100644 --- a/Database/Base/CollectionIterator.php +++ b/Database/Base/CollectionIterator.php @@ -1,6 +1,7 @@ model = $model; $this->query = $query;