Rumah > Soal Jawab > teks badan
Adegan itu ialah:
Apabila memaparkan medan telefon dalam jadual Pengguna di latar depan, 4 digit terakhir nombor telefon digantikan dengan *.
Kaedah yang saya gunakan ialah:
class User extends Model
{
public function getTelAttribute () {
return substr($this->attributes['tel'], 0, 7) . '****';
}
}
Jika anda menulisnya seperti ini, secara amnya ia akan baik-baik saja.
Namun, apabila pengguna mengubah suai maklumat peribadi melalui borang, nombor telefon yang dipaparkan dalam input ialah
Contoh: 1391234**
Apa yang saya ingin selesaikan ialah:
Dalam kes menggunakan pembaca (getAttribute), bagaimana untuk
membatalkan sementara tindakan kepada pembaca (getAttribute) di bawah syarat tertentu, untuk memaparkan nombor telefon yang lengkap?
習慣沉默2017-05-16 13:00:48
Sembunyikan satu apabila mengeksport Array
Ini mempunyai kelemahan Dalam antara muka JSON yang dieksport, tel
semuanya **Array
时隐藏一个,这样做有弊病,导出的JSON接口中,tel
都是**
protected $hidden = [
'tel_original'
];
function getTelAttribute() {
return substr($this->attributes['tel'], 0, 7) . '****');
}
function getTelOriginalAttribute() {
return $this->attributes['tel'];
}
不修改tel
,但是在模板中显示时,用函数替换一下
这样对导出JSON
rrreee
tel
, tetapi apabila memaparkannya dalam templat, gantikannya dengan fungsiJSON
, tetapi anda perlu melakukannya gunakannya setiap kali ia dipaparkan penggantian fungsi🎜