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的设定

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Cassandra SizeTieredCompaction策略解析

    Cassandra SizeTieredCompaction策略解析

    2021年8月18日
  • 腾讯云中ssL证书的配置安装

    腾讯云中ssL证书的配置安装

    2021年10月14日
  • spring boot拦截器和过滤器_java拦截器的作用

    spring boot拦截器和过滤器_java拦截器的作用SpringMVC中有两种很普遍的AOP实现:1.过滤器(Filter)2.拦截器(Interceptor)首先说一下两者之间的区别:过滤器和拦截器非常相似,但是它们有很大的区别a.最简单明了的区别就是过滤器可以修改request,而拦截器不能b.过滤器需要在servlet容器中实现,拦截器可以适用于javaEE,javaSE等各种环境c.拦截器可以调用IOC容器中的各种依赖,而过滤器不能d.过滤器只能在请求的前后使用,而拦截器可以详细到每个方法一、HandlerInterc

    2022年8月23日
  • GridView控件实现分页功能[通俗易懂]

    初识ASP.NET中的控件,还是折腾了一小会儿,就把我折腾的结果给大家看看:表格显示数据时网站开发中的一个常见的功能,ASP.NET提供了很多工具在网页中显示表格,GridView控件就是最常见的一个,下面说说如何实现这个控件的分页功能。    首先我在数据库中建好了一张表,里面输入了一些学生的信息,数据表是这样的:    下面我们将数据库中的数据导入到Gr

    2022年4月5日
  • 免费ASP空间

    免费ASP空间free免费asp空间的申请方法;free免费asp空间的ftp使用方法;sise.host3v.vip/1

    2022年7月2日
  • numpy 数组拼接方法

    numpy 数组拼接方法参考:https://blog.csdn.net/zyl1042635242/article/details/43162031方法一:转为list,使用“+”,append()或者extend()可做简单的拼接。不过要注意一些小问题,如下图:方法二:使用numpy提供的函数-append(arr,values,axis=None)不能对三个或者三个以上数组…

    2022年5月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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