The scene is:
When displaying the tel field in a Users table in the foreground, the last 4 digits of the phone number are replaced with *.
The method I use is:
class User extends Model
{
public function getTelAttribute () {
return substr($this->attributes['tel'], 0, 7) . '****';
}
}
If you write it like this, it will generally be fine.
However, when the user modifies personal information through the form, the phone number displayed in the input is
Example: 1391234**
What I want to solve is:
In the case of using the reader (getAttribute), how to
temporarily cancel the action to the reader (getAttribute) under certain conditions, so as to display the complete phone number?
認(rèn)證高級PHP講師
ExportArray
時隱藏一個,這樣做有弊病,導(dǎo)出的JSON接口中,tel
are all**
protected $hidden = [
'tel_original'
];
function getTelAttribute() {
return substr($this->attributes['tel'], 0, 7) . '****');
}
function getTelOriginalAttribute() {
return $this->attributes['tel'];
}
No changetel
,但是在模板中顯示時,用函數(shù)替換一下
這樣對導(dǎo)出JSON
has no effect, it just needs to be replaced with a function every time it is displayed