laravel5 怎么获取数组形式的数据

laravel5 怎么获取数组形式的数据

当构建 JSON API 时,您可能常常需要把模型和关联对象转换成数组或JSON。所以Eloquent里已经包含了这些方法。要把模型和已载入的关联对象转成数组,可以使用 toArray方法:

$user = User::with(‘roles’)->first();
return $user->toArray();
注意:也可以把整个的模型集合转换成数组:
return User::all()->toArray();
将模型转换成 JSON

要把模型转换成 JSON,可以使用 toJson 方法:

return User::find(1)->toJson();
从路由中返回模型

注意当模型或集合被转换成字符串类型时会自动转换成 JSON 格式,这意味着您可以直接从路由返回 Eloquent 对象!

Route::get(‘users’, function()
{

return User::all();
});
转换成数组或 JSON 时隐藏属性
http://wenda.golaravel.com/question/1663

有时您可能想要限制能出现在数组或 JSON 格式的属性数据,比如密码字段。只要在模型里增加 hidden 属性即可

class User extends Model {

protected $hidden = [‘password’];
}
注意: 要隐藏关联数据,要使用关联的方法名称,而不是动态获取的属性名称。
此外,可以使用 visible 属性定义白名单:

protected $visible = [‘first_name’, ‘last_name’];
有时候您可能想要增加不存在数据库字段的属性数据。这时候只要定义一个获取器即可:

public function getIsAdminAttribute()
{

return $this->attributes[‘admin’] == ‘yes’;
}
定义好获取器之后,再把对应的属性名称加到模型里的 appends 属性:

protected $appends = [‘is_admin’];
把属性加到 appends 数组之后,在模型数据转换成数组或 JSON格式时就会有对应的值。在 appends数组中定义的值同样遵循模型中 visible和 hidden的设定

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113097.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SPI 协议学习

    SPI 协议学习spi硬件协议学习

    2022年10月10日
  • vueweb端响应式布局_vue响应式原理图文详解「建议收藏」

    vueweb端响应式布局_vue响应式原理图文详解「建议收藏」Vue最显著的特性之一便是不太引人注意的响应式系统(reactivitysystem)。模型层(model)只是普通JS对象,修改它则更新视图(view)。这会让状态管理变得非常简单且直观,不过理解它的工作原理以避免一些常见的问题也是很重要的。本文将详细介绍Vue响应式系统的底层细节。追踪变化把一个普通JS对象传给Vue实例的data选项,Vue将遍历此对象所有的属性,并使用Object.def…

  • React 路由详解(超详细详解)

    React 路由详解(超详细详解)ReactReact路由对SPA的理解1.单页Web应用(singlepagewebapplication,SPA)。2.整个应用只有一个完整的页面。3.点击页面中的链接不会刷新页面,只会做页面的局部更新。4.数据都需要通过ajax请求获取,并在前端异步展现。路由的理解1.什么是路由1.一个路由就是一个映射关系(key:value)2.key为路径,value可能是function或component2.路由分类1.后端路由:1)理解:value是fun

  • Oracle PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下)「建议收藏」

    Oracle PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下)「建议收藏」作者:EricHu(DB、C/S、B/S、WebService、WCF、PM等)出处:http://www.cnblogs.com/huyong/Q Q:80368704   E-Mail: 80368704@qq.com本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵

  • LockWorkStation应用–运行后锁屏

    LockWorkStation应用–运行后锁屏batch脚本如下:rundll32.exe user32.dll,LockWorkStation————msdn上的介绍,BOOLWINAPILockWorkStation(void);http://msdn.microsoft.com/en-us/library/aa376875(VS.85).aspx

  • 我在武汉新东方上过的8个老师是谁_武汉新东方学校靠谱吗

    我在武汉新东方上过的8个老师是谁_武汉新东方学校靠谱吗上新东方的总结、感想。对新东方还是有一点留恋的。。。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号