网站首页 > 开源技术 正文
公司在用 Yii2 作为主力 PHP 开发框架。经常需要在 JSON 里返回 Model 数据。 常用的方法是使用 Model 里的 fields 方法。
但问题是我们需要在不同的 JSON 里对同个对象返回不同的字段。比如列表里里返回 id 和 name,而在详细页里需要返回这个对象的大部分字段。这时候就很折腾,需要自己组装。
但最近在 Laravel 里发现一个更有意思的做法。它的概念叫 Resource,主要代码逻辑是这样的,一个 Resource 负责把 Model 格式化成一个格式的数组。
像刚刚的例子,就有两个 Resource,一个 ListResource 仅返回 id 和 name,另一个 DetailResource 返回详细页需要的字段。
然后需要返回的 JSON 时候这样操作。
return new DetailResource($UserModel);
或是格式化一个对象数组
return ListResource::collection($UserModels);
Laravel 这个方法很聪明。可以抄回 Yii2 里头。
猜你喜欢
- 2024-09-11 少年歌行。第2部。萧崇登基后……
- 2024-09-11 少年歌行2:司空千落怀孕,萧瑟居然要娶别人为妻
- 2024-09-11 YII框架学习(新手)NO.2(yii框架设计模式)
- 2024-09-11 yii安装与使用详解(easy_install安装)
- 2024-09-11 小编教你 YII2框架模块如何绑定二级域名
- 2024-09-11 一款基于Yii2+Vue2.0+uniapp的开源商城
- 2024-09-11 Yii2开发中js冲突 如何禁用自带的 yii、jquery 和 bootstrap
- 2024-09-11 一款基于Yii2开发的免费商城系统(开发一款游戏的步骤)
- 2024-09-11 Yii2连接pgsql,设置默认schema(sqlplus默认连库)
- 2024-09-11 php生命周期、Laravel生命周期、Yii2生命周期、ThinkPHP生命周期
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)