diff --git a/library/think/Model.php b/library/think/Model.php index 4176a12d..2b7f3ae3 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -487,11 +487,12 @@ abstract class Model implements \JsonSerializable, \ArrayAccess * 设置需要追加的输出属性 * @access public * @param array $append 属性列表 + * @param bool $override 是否覆盖 * @return $this */ - public function append($append = []) + public function append($append = [], $override = false) { - $this->append = $append; + $this->append = $override ? $append : array_merge($this->append, $append); return $this; } @@ -499,22 +500,24 @@ abstract class Model implements \JsonSerializable, \ArrayAccess * 设置需要隐藏的输出属性 * @access public * @param array $hidden 属性列表 + * @param bool $override 是否覆盖 * @return $this */ - public function hidden($hidden = []) + public function hidden($hidden = [], $override = false) { - $this->hidden = $hidden; + $this->hidden = $override ? $hidden : array_merge($this->hidden, $hidden); return $this; } /** * 设置需要输出的属性 * @param array $visible + * @param bool $override 是否覆盖 * @return $this */ - public function visible($visible = []) + public function visible($visible = [], $override = false) { - $this->visible = $visible; + $this->visible = $override ? $visible : array_merge($this->visible, $visible); return $this; }