Laravel 8 序列化为 JSON
方法 toJson
可以把模型转化成 JSON。和方法 toArray
一样,toJson
方法也是递归的,因此所有属性和关联都会转化成 JSON,你还可以指定由 PHP 支持的 JSON 编码选项:
$user = App\Models\User::find(1);
return $user->toJson();
return $user->toJson(JSON_PRETTY_PRINT);
也可以把模型或集合转成字符串,方法 toJson
将自动调用:
$user = App\Models\User::find(1);
return (string) $user;
由于模型和集合在转化为字符串的时候会转成 JSON,因此可以在应用的路由或控制器中直接返回 Eloquent 对象:
Route::get('users', function () {
return App\Models\User::all();
});