diff --git a/src/Library/Util.php b/src/Library/Util.php index 29275a0..b6ea7bf 100644 --- a/src/Library/Util.php +++ b/src/Library/Util.php @@ -200,11 +200,11 @@ final class Util /** * 将数组的值赋值给对象,指定某些字段 - * @param type $obj 对象实例 + * @param object $obj 对象实例 * @param array $params 源数据数组,['k1'=>'v1'] * @param array $only 指定的数组字段,['k1','k2'] */ - public static function setObjectValue($obj, array $params, array $only = []) + public static function setObjectValue(object $obj, array $params, array $only = []) { foreach ($params as $key => $value) { if (!empty($only) && !in_array($key, $only)) { @@ -216,11 +216,11 @@ final class Util /** * 将数组的值赋值给对象,排除某些字段 - * @param type $obj 对象实例 + * @param object $obj 对象实例 * @param array $params 源数据数组,['k1'=>'v1'] * @param array $except 排除的数组字段,['k1','k2'] */ - public static function setObjectValueExcept($obj, array $params, array $except = []) + public static function setObjectValueExcept(object $obj, array $params, array $except = []) { foreach ($params as $key => $value) { if (!in_array($key, $except)) { diff --git a/src/Service.php b/src/Service.php index 07a05b3..a64b911 100644 --- a/src/Service.php +++ b/src/Service.php @@ -18,6 +18,7 @@ use Dhd\Micro\Core\Exception\BusinessException; use Throwable; use Dhd\Micro\Core\Validator; use Hyperf\DbConnection\Db; +use Dhd\Micro\Core\Library\Util; /** * @template T of Model @@ -361,4 +362,26 @@ abstract class Service { return Db::transaction($callback); } + + /** + * 将数组的值赋值给对象,指定某些字段 + * @param object $obj 对象实例 + * @param array $params 源数据数组,['k1'=>'v1'] + * @param array $only 指定的数组字段,['k1','k2'] + */ + protected function setObjectValue(object $obj, array $params, array $only = []) + { + Util::setObjectValue($obj, $params, $only); + } + + /** + * 将数组的值赋值给对象,排除某些字段 + * @param object $obj 对象实例 + * @param array $params 源数据数组,['k1'=>'v1'] + * @param array $except 排除的数组字段,['k1','k2'] + */ + protected function setObjectValueExcept(object $obj, array $params, array $except = []) + { + Util::setObjectValueExcept($obj, $params, $except); + } }