php - 关于使用laravel 中的读取器(getAttribute)时遇到的问题
PHP中文网
PHP中文网 2017-05-16 12:58:48
0
1
679

场景是:

在前台显示一个Users表里的tel字段时,电话号的后4位用*来化替。

我使用的方法是:

class User extends Model { public function getTelAttribute () { return substr($this->attributes['tel'], 0, 7) . '****'; } }

如果这样写,一般的情况下是没问题的。

但是,当用户通过表单修改个人信息时,input中所显示的电话是

例:1391234**

我想解决的是:

在使用读取器(getAttribute)的情况下,如何在一定的条件下
一时取消到读取器(getAttribute)的动作,从而达到显示完整的电话号码呢?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua (1)
習慣沉默

1. Buat dua

Sembunyikan satu apabila mengeksportArrayIni mempunyai kelemahan Dalam antara muka JSON yang dieksport,telsemuanya **Array时隐藏一个,这样做有弊病,导出的JSON接口中,tel都是**

protected $hidden = [ 'tel_original' ]; function getTelAttribute() { return substr($this->attributes['tel'], 0, 7) . '****'); } function getTelOriginalAttribute() { return $this->attributes['tel']; }

2. 运行时替换

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

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
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!