diff --git a/src/EntityTrait.php b/src/EntityTrait.php index dddb375..44f14f1 100644 --- a/src/EntityTrait.php +++ b/src/EntityTrait.php @@ -6,13 +6,10 @@ use Notes\Attribute\Ignore; use Psr\Http\Message\ServerRequestInterface; use Ulmus\{Common\EntityResolver, Common\EntityField, + Entity\EntityInterface, Query\QueryBuilderInterface, SearchRequest\SearchRequestInterface, SearchRequest\SearchRequestPaginationTrait}; -use Ulmus\Annotation\Classes\{ Method, Table, Collation, }; -use Ulmus\Annotation\Property\{ Field, Filter, FilterJoin, Relation, OrderBy, Where, OrWhere, Join, Virtual, On, WithJoin, }; -use Ulmus\Annotation\Property\Field\{ PrimaryKey, Id, ForeignKey, CreatedAt, UpdatedAt, Datetime as DateTime, Date, Time, Bigint, Tinyint, Text, Mediumtext, Longtext, Blob, Mediumblob, Longblob, }; -use Ulmus\Annotation\Property\Relation\{ Ignore as RelationIgnore }; trait EntityTrait { use EventTrait; @@ -138,8 +135,12 @@ trait EntityTrait { } #[Ignore] - public function fromArray(iterable $dataset) : static + public function fromArray(iterable|EntityInterface $dataset) : static { + if ($dataset instanceof EntityInterface) { + $dataset = $dataset->toArray(); + } + return $this->entityFillFromDataset($dataset); }