This commit is contained in:
2021-08-16 11:24:57 +08:00
parent e6b7158d5a
commit 92d02bd564
4 changed files with 16 additions and 5 deletions
+1 -3
View File
@@ -268,9 +268,7 @@ class ActiveRecord extends BaseActiveRecord
if ($resolve instanceof HasBase) { if ($resolve instanceof HasBase) {
$resolve = $resolve->get(); $resolve = $resolve->get();
} }
if ($resolve instanceof Collection) { if ($resolve instanceof ObjectToArray) {
return $resolve->toArray();
} else if ($resolve instanceof ActiveRecord) {
return $resolve->toArray(); return $resolve->toArray();
} else if (is_object($resolve)) { } else if (is_object($resolve)) {
return get_object_vars($resolve); return get_object_vars($resolve);
+2 -1
View File
@@ -13,6 +13,7 @@ namespace Database\Base;
use ArrayIterator; use ArrayIterator;
use Database\ActiveQuery; use Database\ActiveQuery;
use Database\ActiveRecord; use Database\ActiveRecord;
use Database\ObjectToArray;
use Exception; use Exception;
use JetBrains\PhpStorm\Pure; use JetBrains\PhpStorm\Pure;
use Kiri\Abstracts\Component; use Kiri\Abstracts\Component;
@@ -23,7 +24,7 @@ use Traversable;
* Class AbstractCollection * Class AbstractCollection
* @package Database\Base * @package Database\Base
*/ */
abstract class AbstractCollection extends Component implements \IteratorAggregate, \ArrayAccess abstract class AbstractCollection extends Component implements \IteratorAggregate, \ArrayAccess, ObjectToArray
{ {
/** /**
+2 -1
View File
@@ -20,6 +20,7 @@ use Database\HasMany;
use Database\HasOne; use Database\HasOne;
use Database\IOrm; use Database\IOrm;
use Database\Mysql\Columns; use Database\Mysql\Columns;
use Database\ObjectToArray;
use Database\Relation; use Database\Relation;
use Database\SqlBuilder; use Database\SqlBuilder;
use Database\Traits\HasBase; use Database\Traits\HasBase;
@@ -47,7 +48,7 @@ use validator\Validator;
* @property Application $container * @property Application $container
* @property EventDispatch $eventDispatch * @property EventDispatch $eventDispatch
*/ */
abstract class BaseActiveRecord extends Component implements IOrm, ArrayAccess abstract class BaseActiveRecord extends Component implements IOrm, ArrayAccess, ObjectToArray
{ {
+11
View File
@@ -0,0 +1,11 @@
<?php
namespace Database;
interface ObjectToArray
{
public function toArray();
}