Laravel学习笔记基础系列--(二十五)Laravel 访问器与修改器
作者:温新
时间: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');
}
我是温新
每天进步一点点,就一点点
请登录后再评论