場景是:
在前台顯示一個Users表裡的tel欄位時,電話號碼的後4位用*來化替。
我使用的方法是:
class User extends Model
{
public function getTelAttribute () {
return substr($this->attributes['tel'], 0, 7) . '****';
}
}
如果這樣寫,一般的情況下是沒問題的。
但是,當使用者透過表單修改個人資訊時,input所顯示的電話是
例:1391234**
我想解決的是:
在使用讀取器(getAttribute)的情況下,如何在一定的條件下
一時取消到讀取器(getAttribute)的動作,從而達到顯示完整的電話號碼呢?
習慣沉默2017-05-16 13:00:48
導出Array
时隐藏一个,这样做有弊病,导出的JSON接口中,tel
都是**
protected $hidden = [
'tel_original'
];
function getTelAttribute() {
return substr($this->attributes['tel'], 0, 7) . '****');
}
function getTelOriginalAttribute() {
return $this->attributes['tel'];
}
不修改tel
,但是在模板中显示时,用函数替换一下
这样对导出JSON
都沒影響,只是每處顯示的時候都需要用函數替換