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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 汉澳sinox不受openssl心血漏洞影响并分析修复其漏洞代码

    汉澳sinox不受openssl心血漏洞影响并分析修复其漏洞代码OpenSSL心血(HeartBleed)漏洞是openssl在2014-04-07发布的重大安全漏洞(CVE-2014-0160)这个漏洞使攻击者可以从server内存中读取64KB的数据,甚至获取到加密流量的密钥。用户的名字和password。以及訪问的内容。主要影响版本号OpenSSL1.0.1到OpenSSL1.0.1f以及OpenSSL1.0….

    2022年7月16日
    26
  • sort函数对vector排序_sort函数对结构体数组排序

    sort函数对vector排序_sort函数对结构体数组排序一、遇到问题:今天写代码的是遇到想对vector进行排序的问题,隐约记得std::sort函数是可以对vector进行排序的,但是这次需要排序的vector中压的是自己定义的结构体(元素大于等于2),想以其中某一个元素进行正序或逆序排序,则不能直接使用sort函数。二、解决方案:在网上找资料的过程中,看到http://blog.csdn.net/aguisy/article/d

    2022年8月12日
    6
  • idea2019 jetbrains 激活码永久_通用破解码

    idea2019 jetbrains 激活码永久_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    1.5K
  • 卷积神经网络CNN(1)——图像卷积与反卷积(后卷积,转置卷积)

    卷积神经网络CNN(1)——图像卷积与反卷积(后卷积,转置卷积)1.前言  传统的CNN网络只能给出图像的LABLE,但是在很多情况下需要对识别的物体进行分割实现endtoend,然后FCN出现了,给物体分割提供了一个非常重要的解决思路,其核心就是卷积与反卷积,所以这里就详细解释卷积与反卷积。  对于1维的卷积,公式(离散)与计算过程(连续)如下,要记住的是其中一个函数(原函数或者卷积函数)在卷积前要翻转180度图1  对…

    2022年6月21日
    31
  • python 学习记录一

    python 学习记录一

    2022年3月12日
    39
  • java jvm 参数 -Xms -Xmx -Xmn -Xss 调优

    堆大小设置JVM中最大堆大小有三方面限制: 1.相关操作系统的数据模型(32-bt还是64-bit)限制;2.系统的可用虚拟内存限制;3.系统的可用物理内存限制.在32位系统下,一般限制在1.5G~2G;64为操作系统对内存无特定限制.  机器配置:128G内存  32核CPU典型设置: java-Xmx72g -Xms72-Xmn4g-Xss256m  -Xmx…

    2022年4月6日
    79

发表回复

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

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