Ruby 程序员学习 Laravel 框架笔记 (7)-User model 的 getter 方法

这一篇内容要讲的跟上一篇Ruby 程序员学习 laravel 框架笔记 (6)-修改 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);
    }
}
?>

效果如下:

完结。

下一篇:Ruby 程序员学习 laravel 框架笔记 (8)-view 的更多知识

本作品采用《CC 协议》,转载必须注明作者和本文链接
咱们的学习圣地是: https://www.qiuzhi99.com,这里有不限于 Nodejs、React、TypeScript、GraphQL 相关的精品课程。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1
Destiny

赞 :+1:

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!