您现在的位置是:自如初>LaravelLaravel
Laravel9 多种方式把集合数据转为 JSON 数据
温新
2022-09-05 00:23:57
【Laravel】
1038人已围观
简介Laravel9 多种方式把集合数据转为 JSON 数据。本篇文章将学习使用 4 种方法,将数据转为 JSON 格式。
hi,我是温新,一名PHPer
准备工作
一:创建一个项目
二:定义路由
<?php
// routes/web.php
use Illuminate\Support\Facades\Route;
Route::get('users', [\App\Http\Controllers\Test\UserController::class, 'index']);
三:创建一个控制器
<?php
// Test/TestController.php
namespace App\Http\Controllers\Test;
use App\Http\Controllers\Controller;
class UserController extends Controller
{
}
toJson() 方法将模型数据转为 JSON 数据
获取所有结果
<?php
namespace App\Http\Controllers\Test;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index(Request $request)
{
return User::query()->latest()->get()->toJson();
}
}
返回结果
[
{
"id": 282,
"name": "Ms. Burdette Fadel",
"email": "brandon.mills@example.net",
"email_verified_at": "2022-09-04T15:55:43.000000Z",
"created_at": "2022-09-04T15:55:47.000000Z",
"updated_at": "2022-09-04T15:55:47.000000Z"
},
{
"id": 283,
"name": "Kenny Schimmel II",
"email": "arvid57@example.com",
"email_verified_at": "2022-09-04T15:55:43.000000Z",
"created_at": "2022-09-04T15:55:47.000000Z",
"updated_at": "2022-09-04T15:55:47.000000Z"
}
]
获取一条数据
public function index(Request $request)
{
return User::query()->find(1)->toJson();
}
返回结果
{
"id": 1,
"name": "Laverna Smitham",
"email": "claudine.reichert@example.com",
"email_verified_at": "2022-09-04T15:55:43.000000Z",
"created_at": "2022-09-04T15:55:46.000000Z",
"updated_at": "2022-09-04T15:55:46.000000Z"
}
json_encode() 将模型数据转为 JSON 数据
public function index(Request $request)
{
// 所有数据
$users = User::query()->latest()->get();
// 一条数据
// $user = User::query()->latest()->find(1);
return json_encode($users);
}
集合数据转为 JSON 数据
public function index(Request $request)
{
$users = collect([
['id' => 1, 'name' => 'lisi', 'age' => 18],
['id' => 2, 'name' => 'wangwu', 'age' => 18],
]);
return $users->toJson();
}
使用 response json
public function index(Request $request)
{
$users = User::query()->where('id', '<', 5)->latest()->get();
return response()->json($users);
}
很赞哦!(8)
相关文章
- GitHub Copilot CURD 提高了效率但也存在问题
- GitHub Copilot 体验
- Laravel 10.x 使用 Tailwind CSS
- Laravel 10.x - Inertiajs 使用 composer require tightenco/ziggy 组件
- Laravel 10.x 安装 Inertiajs & Vue3
- Laravel 10 CURD 演示
- Laravel 使用 Server 层
- Linux 系统安装 Laravel 安装器 无效的解决方法
- Vue3 & Vite 中如何使用 Tailwind CSS 之 Laravel9后台实现-前后端分离演示案例(三)
- Laravel9 使用 barryvdh/laravel-dompdf 创建 PDF 文件