php - Masalah yang dihadapi semasa menggunakan pembaca (getAttribute) dalam laravel
PHP中文网
PHP中文网 2017-05-16 12:58:48
0
1
742

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?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(1)
習慣沉默

1. Buat dua

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'];
}

2. 运行时替换

不修改tel,但是在模板中显示时,用函数替换一下
这样对导出JSON rrreee

2. Penggantian masa jalan🎜 🎜Jangan ubah suai tel, tetapi apabila memaparkannya dalam templat, gantikannya dengan fungsi
Ini tidak akan memberi kesan pada mengeksport JSON, tetapi anda perlu melakukannya gunakannya setiap kali ia dipaparkan penggantian fungsi🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan