This commit is contained in:
2023-04-05 10:15:50 +08:00
parent bc3c286416
commit c86eb1a83d
3 changed files with 207 additions and 173 deletions
+21 -2
View File
@@ -2,6 +2,8 @@
namespace Database\Base;
use Database\ModelInterface;
class Setter
{
@@ -42,8 +44,25 @@ class Setter
{
return $this->setter[$className] ?? null;
}
/**
* @param ModelInterface $class
* @param string $key
* @param mixed $value
* @return mixed
*/
public function override(ModelInterface $class, string $key, mixed $value): mixed
{
$method = $this->setter[$class::class][$key] ?? null;
if ($method !== null) {
return $class->{$method}($value);
}
return $value;
}
/**
* @param string $className
* @param string $name