This commit is contained in:
2020-09-08 00:49:15 +08:00
parent 2f5b3abf47
commit 6bab3c8f1e
3 changed files with 40 additions and 12 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
*/
public function getIterator()
{
return new \ArrayIterator($this->_item);
return new CollectionIterator($this->model, $this->_item);
}
/**
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace Database\Base;
use Database\ActiveRecord;
/**
* Class CollectionIterator
* @package Database\Base
*/
class CollectionIterator extends \ArrayIterator
{
/** @var ActiveRecord */
private $model;
public function __construct($model, $array = array(), $flags = 0)
{
$this->model = $model;
parent::__construct($array, $flags);
}
/**
* @return ActiveRecord|mixed
*/
public function current()
{
return $this->model::populate(parent::current());
}
}