diff --git a/src/Base/AbstractCollection.php b/src/Base/AbstractCollection.php index 003b19c..dd46ee5 100644 --- a/src/Base/AbstractCollection.php +++ b/src/Base/AbstractCollection.php @@ -134,7 +134,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat return NULL; } if (!($this->_item[$offset] instanceof ModelInterface)) { - return $this->model->setAttributes($this->_item[$offset]); + return $this->model::populate($this->_item[$offset]); } return $this->_item[$offset]; } diff --git a/src/Base/CollectionIterator.php b/src/Base/CollectionIterator.php index 1812257..4326352 100644 --- a/src/Base/CollectionIterator.php +++ b/src/Base/CollectionIterator.php @@ -17,7 +17,7 @@ use Exception; class CollectionIterator extends \ArrayIterator { - private ModelInterface|string $model; + private \Database\Model|string $model; /** @var ActiveQuery */ @@ -56,7 +56,7 @@ class CollectionIterator extends \ArrayIterator */ protected function newModel($current): ModelInterface { - return $this->model->setAttributes($current); + return $this->model::populate($current); } diff --git a/src/Base/Model.php b/src/Base/Model.php index b22d72e..8ff7880 100644 --- a/src/Base/Model.php +++ b/src/Base/Model.php @@ -646,7 +646,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T private function resolve($rule): Validator { $validate = Validator::getInstance(); - $validate->setParams($this->_attributes); + $validate->setParams($this->getAttributes()); $validate->setModel($this); foreach ($rule as $val) { $field = array_shift($val);