This commit is contained in:
2022-09-12 17:33:57 -03:00

View File

@ -150,25 +150,26 @@ abstract class Repository implements RepositoryInterface
public function fillData(Model $model, array $data): Model public function fillData(Model $model, array $data): Model
{ {
foreach ($this->getRequired() as $column) { foreach ($this->getRequired() as $column) {
$m = 'set' . ucwords($column); $m = $this->getMethod($column, false);
$model->{$m}($data[$column]); $model->{$m}($data[$column]);
} }
foreach ($this->getOptional() as $column) { foreach ($this->getOptional() as $column) {
if (isset($data[$column])) { if (!isset($data[$column])) {
$m = 'set' . ucwords($column); continue;
$model->{$m}($data[$column]);
} }
$m = $this->getMethod($column, false);
$model->{$m}($data[$column]);
} }
return $model; return $model;
} }
public function mapArray(Model $model, array $data): array public function mapArray(Model $model, array $data): array
{ {
foreach ($this->getColumns() as $column) { foreach ($this->getColumns() as $column) {
$m = $this->getMethod($column);
$val = $model->{$m}();
if (isset($data[$column])) { if (isset($data[$column])) {
continue; continue;
} }
$m = $this->getMethod($column);
$val = $model->{$m}();
$data[$column] = $val; $data[$column] = $val;
} }
return $data; return $data;
@ -215,7 +216,7 @@ abstract class Repository implements RepositoryInterface
{ {
foreach ($this->getColumns() as $col) { foreach ($this->getColumns() as $col) {
if (isset($data[$col])) { if (isset($data[$col])) {
$m = 'set' . ucwords($col); $m = $this->getMethod($col, false);
$model->{$m}($data[$col]); $model->{$m}($data[$col]);
} }
} }