Laravel
<!-- Syntax highlighted by torchlight.dev -->// Basic usage of toJson() $user = User::find(1); return $user->toJson(); // With JSON formatting options return $user->toJson(JSON_PRETTY_PRINT);
让我们探索使用tojson()的API响应系统的实践示例
<!-- Syntax highlighted by torchlight.dev --><?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model { protected $appends = ['reading_time']; protected $hidden = ['internal_notes']; public function author() { return $this->belongsTo(User::class); } public function comments() { return $this->hasMany(Comment::class); } public function getReadingTimeAttribute() { return ceil(str_word_count($this->content) / 200); } public function toArray() { return [ 'id' => $this->id, 'title' => $this->title, 'content' => $this->content, 'author' => $this->author->name, 'reading_time' => $this->reading_time, 'comments_count' => $this->comments()->count(), 'created_at' => $this->created_at->toDateTimeString(), 'updated_at' => $this->updated_at->toDateTimeString(), ]; } } // In your controller class ArticleController extends Controller { public function show($id) { $article = Article::with(['author', 'comments.user'])->findOrFail($id); return $article->toJson(); } public function index() { $articles = Article::with('author')->get(); return response()->json($articles); // Implicit conversion } }
> laravel的tojson()方法提供了一种将模型转换为JSON的有效方法,同时提供了通过模型属性和关系自定义输出的灵活性。
>以上是将Laravel模型转换为JSON的API响应的详细内容。更多信息请关注PHP中文网其他相关文章!