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) {
$resolve = $resolve->get();
}
if ($resolve instanceof Collection) {
return $resolve->toArray();
} else if ($resolve instanceof ActiveRecord) {
if ($resolve instanceof ObjectToArray) {
return $resolve->toArray();
} else if (is_object($resolve)) {
return get_object_vars($resolve);
+2 -1
View File
@@ -13,6 +13,7 @@ namespace Database\Base;
use ArrayIterator;
use Database\ActiveQuery;
use Database\ActiveRecord;
use Database\ObjectToArray;
use Exception;
use JetBrains\PhpStorm\Pure;
use Kiri\Abstracts\Component;
@@ -23,7 +24,7 @@ use Traversable;
* Class AbstractCollection
* @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\IOrm;
use Database\Mysql\Columns;
use Database\ObjectToArray;
use Database\Relation;
use Database\SqlBuilder;
use Database\Traits\HasBase;
@@ -47,7 +48,7 @@ use validator\Validator;
* @property Application $container
* @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();
}