# 7. User model 的 getter 方法 本篇所讲的知识的官方文档在于 [eloquent-mutators](https://laravel.com/docs/5.4/eloquent-mutators)。 这一篇内容要讲的跟上一篇 [Ruby 程序员学习 laravel 框架笔记 (6)-修改 User model](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-6-xiu-gai-user-model) 密切相关。 上一篇我们使用了类似于 User model 的 setter 方法,代码如下: ``` // app/User.php <?php ... class User extends Authenticatable { use Notifiable; ... // setNameAttribute 方法是新增的 public function setNameAttribute($value) { $this->attributes['name'] = ucfirst($value); } } ?> ``` `setNameAttribute` 就相当于一个 setter 方法,主要是对属性或数据进行修改。比如上篇文章所讲的把即将要存进数据库的用户名的首字母变成大写,例如,`hfpp2012` 变成了 `Hfpp2012` 。 而这篇要讲的是 getter 方法,就是对数据如何读取进行修饰。比如把读出来的用户名,所有字母变成大写,而数据库的内容保持不变,例如, `Hfpp2012` 会变成 `HFPP2012` 。 这节的内容比较简单,主要就是讲一个 getter 方法,代码如下: ``` // app/User.php <?php ... class User extends Authenticatable { use Notifiable; ... public function setNameAttribute($value) { $this->attributes['name'] = ucfirst($value); } // getter方法 public function getNameAttribute($value) { return strtoupper($value); } } ?> ``` 效果如下: ![](https://box.kancloud.cn/4b7a8230664926cb0528fe66e30717dd_2212x548.png) 完结。 下一篇:[Ruby 程序员学习 laravel 框架笔记 (8)-view 的更多知识](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-8-view-geng-duo-zhi-shi)