Laravel学习笔记基础系列--(三十一)Laravel 模型序列化
作者:温新
时间:2021-07-03
hi,我是温新,一名PHPer
对于返回数据格式,有返回json
的,也有返回array
的。而查询的结果是集合对象,本篇文章对查询结果集合进行转换。
序列化为数组
toArray
将模型结果转为数组
use App\Models\User;
$user = User::first()->toArray();
dd($user);
attributesToArray
将模型属性转为数组
$user = User::first()->attributesToArray();
序列化JSON
toJson
方法将结果转为JSON
$posts = Post::find(1)
return $posts->toJson();
return $posts->toJson(JSON_PRETTY_PRINT);
// 除了上述2种,可以将结果用字符串返回
return (string)$posts;
转JSON/ARRAY时隐藏属性
转化数据为JSON或ARRAY时,如要隐藏密码等重要属性时,可以在模型中使用$hidden
属性。
// app/Models/User.php
protected $hidden = ['password'];
转化数据
$user = User::find(1);
// 打印结果就看不到password了
dd($user->toArray());
**makeVisible()**临时显示隐藏属性
$user = User::find(1);
dd($user->makeVisible('password')->toArray());
makeHidden隐藏某个属性
$user = User::find(1);
dd($user->makeHidden('id')->toArray());
我是温新
每天进步一点点,就一点点
请登录后再评论