Laravel学习笔记基础系列--(二十五)Laravel 访问器与修改器

作者: 温新

分类: 【Laravel】

阅读: 1975

时间: 2021-07-26 15:16:41

作者:温新

时间:2021-07-01

hi,我是温新,一名PHPer

对于某个状态(如 启用与关闭),我们经常会用数字来标识。那么在前端页面显示时,会进行转化,如1=启用,2=关闭。Laravel提供了相关方法供我们使用,后台转换,前台直接使用。

访问器

定义:get字段名Attribute,使用驼峰法命令。

如:getTitleAttribute,其中Title就是需要访问的字段名。

第一步:定义访问器

// app/Models/Post.php

// 当调用title时,该值转为大写
public function getTitleAttribute($value)
{
    return strtoupper($value);
}

第二步:控制器获取数据

public function demo()
{
    $posts = Post::findOrFail(80);
    // 页面会输出大写的值
    dd($posts->title);
    return view('demo.demo');
}

举一反三:有一字段 sex,1男 2女,该如何转换呢?

修改器

定义:set字段名Attribute,当为模型上对应的字段赋值值,该修改器自动调用。

第一步:定义修改器

// app/Models/Post.php
public function setTitleAttribute($value)
{
    $this->attributes['title'] = $value . 'ziruchu';
}

第二步:控制器修改数据

// DemoController.php

public function demo()
{
    $post = Post::find(80);
    $post->title = 'Laravel系列笔记';
    $post->save();
    return view('demo.demo');
}

我是温新

每天进步一点点,就一点点

请登录后再评论