mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-25 23:58:39 +00:00
edit docblock + add factory support
This commit is contained in:
parent
778a8f02eb
commit
6e42fe49a1
|
|
@ -85,7 +85,7 @@ class DataMapperFactory
|
|||
*
|
||||
* Relation is defined in current mapper
|
||||
*
|
||||
* @var array<string, array{mapper:string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @var array<string, array{mapper:class-string, external:string, by?:string, column?:string, conditional?:bool}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const OWNS_ONE = [];
|
||||
|
|
@ -93,7 +93,7 @@ class DataMapperFactory
|
|||
/**
|
||||
* Belongs to.
|
||||
*
|
||||
* @var array<string, array{mapper:string, external:string, column?:string, by?:string}>
|
||||
* @var array<string, array{mapper:class-string, external:string, column?:string, by?:string}>
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const BELONGS_TO = [];
|
||||
|
|
@ -109,7 +109,7 @@ class DataMapperFactory
|
|||
/**
|
||||
* Parent column.
|
||||
*
|
||||
* @var string
|
||||
* @var class-string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PARENT = '';
|
||||
|
|
@ -117,11 +117,19 @@ class DataMapperFactory
|
|||
/**
|
||||
* Model to use by the mapper.
|
||||
*
|
||||
* @var string
|
||||
* @var class-string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODEL = '';
|
||||
|
||||
/**
|
||||
* Model factory to use by the mapper.
|
||||
*
|
||||
* @var class-string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const FACTORY = '';
|
||||
|
||||
/**
|
||||
* Database connection.
|
||||
*
|
||||
|
|
@ -387,15 +395,21 @@ class DataMapperFactory
|
|||
/**
|
||||
* Create the empty base model
|
||||
*
|
||||
* @param null|array $data Data to use for initialization
|
||||
*
|
||||
* @return object
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function createBaseModel() : object
|
||||
public static function createBaseModel(array $data = null) : object
|
||||
{
|
||||
$class = empty(static::MODEL) ? \substr(static::class, 0, -6) : static::MODEL;
|
||||
if (empty(static::FACTORY)) {
|
||||
$class = empty(static::MODEL) ? \substr(static::class, 0, -6) : static::MODEL;
|
||||
|
||||
return new $class();
|
||||
return new $class();
|
||||
}
|
||||
|
||||
return static::FACTORY::createWith($data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ final class ReadMapper extends DataMapperAbstract
|
|||
|
||||
foreach ($dbData as $row) {
|
||||
$value = $row[$this->mapper::PRIMARYFIELD . '_d' . $this->depth];
|
||||
$obj[$value] = $this->mapper::createBaseModel();
|
||||
$obj[$value] = $this->mapper::createBaseModel($row);
|
||||
|
||||
$obj[$value] = $this->populateAbstract($row, $obj[$value]);
|
||||
$this->loadHasManyRelations($obj[$value]);
|
||||
|
|
@ -743,7 +743,7 @@ final class ReadMapper extends DataMapperAbstract
|
|||
$ownsOneMapper = $this->createRelationMapper($mapper::get($this->db), $member);
|
||||
$ownsOneMapper->depth = $this->depth + 1;
|
||||
|
||||
return $ownsOneMapper->populateAbstract($result, $mapper::createBaseModel());
|
||||
return $ownsOneMapper->populateAbstract($result, $mapper::createBaseModel($result));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -804,7 +804,7 @@ final class ReadMapper extends DataMapperAbstract
|
|||
$belongsToMapper = $this->createRelationMapper($mapper::get($this->db), $member);
|
||||
$belongsToMapper->depth = $this->depth + 1;
|
||||
|
||||
return $belongsToMapper->populateAbstract($result, $mapper::createBaseModel());
|
||||
return $belongsToMapper->populateAbstract($result, $mapper::createBaseModel($result));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user