Compare commits

...

5 Commits

Author SHA1 Message Date
as2252258 cf2f26ec21 Revert "改名"
This reverts commit fdf58326
2022-01-04 17:27:37 +08:00
as2252258 2a52172af6 Revert "改名"
This reverts commit fdf58326
2022-01-04 16:04:22 +08:00
as2252258 5bf8a7feb1 1 2021-12-17 04:30:21 +08:00
as2252258 52d26c4481 1 2021-12-17 04:28:23 +08:00
as2252258 dd369d348c 1 2021-12-17 04:12:44 +08:00
4 changed files with 14 additions and 27 deletions
+5 -4
View File
@@ -17,6 +17,7 @@ use Kiri\ToArray;
use Exception;
use JetBrains\PhpStorm\Pure;
use Kiri\Abstracts\Component;
use ReturnTypeWillChange;
use Traversable;
/**
@@ -91,7 +92,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
*/
public function addItem($item)
{
array_push($this->_item, $item);
$this->_item[] = $item;
}
/**
@@ -100,7 +101,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
*/
public function getIterator(): Traversable|CollectionIterator|ArrayIterator
{
return new CollectionIterator($this->model, $this->query, $this->_item);
return new CollectionIterator($this->model, $this->_item);
}
@@ -143,7 +144,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
* @param mixed $offset
* @param mixed $value
*/
public function offsetSet(mixed $offset, mixed $value)
#[ReturnTypeWillChange] public function offsetSet(mixed $offset, mixed $value)
{
$this->_item[$offset] = $value;
}
@@ -152,7 +153,7 @@ abstract class AbstractCollection extends Component implements \IteratorAggregat
/**
* @param mixed $offset
*/
public function offsetUnset(mixed $offset)
#[ReturnTypeWillChange] public function offsetUnset(mixed $offset)
{
if ($this->offsetExists($offset)) {
unset($this->_item[$offset]);
+1 -15
View File
@@ -20,31 +20,17 @@ class CollectionIterator extends \ArrayIterator
private ModelInterface|string $model;
/** @var ActiveQuery */
private ActiveQuery $query;
private ?ModelInterface $_clone = null;
public function clean()
{
unset($this->query);
}
/**
* CollectionIterator constructor.
* @param $model
* @param $query
* @param array $array
* @param int $flags
* @throws Exception
*/
public function __construct($model, $query, array $array = [], int $flags = 0)
public function __construct($model, array $array = [], int $flags = 0)
{
$this->model = $model;
$this->query = $query;
parent::__construct($array, $flags);
}
+3 -2
View File
@@ -33,6 +33,7 @@ use Kiri\Exception\NotFindClassException;
use Kiri\Kiri;
use Kiri\ToArray;
use ReflectionException;
use ReturnTypeWillChange;
use validator\Validator;
/**
@@ -1000,7 +1001,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
* @param mixed $value
* @throws Exception
*/
public function offsetSet(mixed $offset, mixed $value)
#[ReturnTypeWillChange] public function offsetSet(mixed $offset, mixed $value)
{
$this->__set($offset, $value);
}
@@ -1009,7 +1010,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, T
* @param mixed $offset
* @throws Exception
*/
public function offsetUnset(mixed $offset)
#[ReturnTypeWillChange] public function offsetUnset(mixed $offset)
{
if (!isset($this->_attributes[$offset])
&& !isset($this->_oldAttributes[$offset])) {
+5 -6
View File
@@ -81,12 +81,11 @@ class Connection extends Component
*/
public function init()
{
$eventProvider = Kiri::getDi()->get(EventProvider::class);
$eventProvider->on(OnWorkerStop::class, [$this, 'clear_connection'], 0);
$eventProvider->on(OnWorkerExit::class, [$this, 'clear_connection'], 0);
$eventProvider->on(BeginTransaction::class, [$this, 'beginTransaction'], 0);
$eventProvider->on(Rollback::class, [$this, 'rollback'], 0);
$eventProvider->on(Commit::class, [$this, 'commit'], 0);
$this->eventProvider->on(OnWorkerStop::class, [$this, 'clear_connection'], 0);
$this->eventProvider->on(OnWorkerExit::class, [$this, 'clear_connection'], 0);
$this->eventProvider->on(BeginTransaction::class, [$this, 'beginTransaction'], 0);
$this->eventProvider->on(Rollback::class, [$this, 'rollback'], 0);
$this->eventProvider->on(Commit::class, [$this, 'commit'], 0);
if (Db::transactionsActive()) {
$this->beginTransaction();