但问题是我们须要在不同的 JSON 里对同个工具返回不同的字段。比如列表里里返回 id 和 name,而在详细页里须要返回这个工具的大部分字段。这时候就很折腾,须要自己组装。
但最近在 Laravel 里创造一个更故意思的做法。它的观点叫 Resource,紧张代码逻辑是这样的,一个 Resource 卖力把 Model 格式化成一个格式的数组。

像刚刚的例子,就有两个 Resource,一个 ListResource 仅返回 id 和 name,另一个 DetailResource 返回详细页须要的字段。
然后须要返回的 JSON 时候这样操作。
return new DetailResource($UserModel);
或是格式化一个工具数组
return ListResource::collection($UserModels);
Laravel 这个方法很聪明。可以抄回 Yii2 里头。