我正在使用 Laravel 的 Mutator 功能,并且我有以下 Mutator:
public function setFirstNameAttribute($value)
{
$this->attributes['first_name'] = strtolower($value);
}
但是在某些情况下我需要忽略这个 Mutator。
有什么办法可以做到这一点
最佳答案
在模型中设置一个公共(public)变量,例如 $preventAttrSet
public $preventAttrSet = false;
public function setFirstNameAttribute($value) {
if ($this->preventAttrSet) {
// Ignore Mutator
$this->attributes['first_name'] = $value;
} else {
$this->attributes['first_name'] = strtolower($value);
}
}
现在,您可以根据自己的情况将公共(public)变量设置为 true 来忽略 Mutator
$user = new User;
$user->preventAttrSet = true;
$user->first_name = 'Sally';
echo $user->first_name;
关于php - Laravel 忽略更改器(mutator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43841752/