laravel 之 Eloquent 模型修改器和序列化示例
修改器
获取
使用Laravel加密器来加密一个被保存在数据库中的值,当你从Eloquent模型访问该属性时该值将被自动解密。
$user=App\User::find(1); $firstName=$user->first_name;修改
publicfunctionsetFirstNameAttribute($value){ $this->attributes['first_name']=strtolower($value); }$user=App\User::find(1); $user->first_name='Sally';日期转化器
$user=App\User::find(1); $user->deleted_at=Carbon::now(); $user->save();可在属性上使用任何Carbon方法:
$user=App\User::find(1); echo$user->deleted_at->getTimestamp();设置时间格式
属性类型转化
'boolean', ]; }现在当你访问is_admin属性时,它将会被转换成布尔值,即便保存在数据库里的值是一个整数:
$user=App\User::find(1); if($user->is_admin){ // }支持的转换的类型有:
integer
real
float
double
string
boolean
object
array
collection
date
datetime
timestamp#protected$casts=[ #'options'=>'array', #]; $user=App\User::find(1); $options=$user->options; $options['key']='value'; $user->options=$options; $user->save();序列化模型或集合
序列化成数组
$user=App\User::with('roles')->first(); return$user->toArray();序列化成JSON
$user=App\User::find(1); return$user->toJson(); //或者 return(string)$user;//自动调用toJson //或者 returnApp\User::all();隐藏来自json的属性
临时隐藏
return$user->makeVisible('attribute')->toArray(); return$user->makeHidden('attribute')->toArray();添加参数到json中
#在appends数组中的属性也遵循模型中visible和hidden设置 publicfunctiongetIsAdminAttribute(){ return$this->attributes['is_admin']=='yes'; }以上这篇laravel之Eloquent模型修改器和序列化示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。