Model类的append hidden和visible 方法默认会和属性设置合并 增加第二个参数用于覆盖

This commit is contained in:
thinkphp
2016-12-07 18:18:38 +08:00
parent 275d04d316
commit 89239cceb4

View File

@@ -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;
}