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


相关推荐

  • p6使用教程_p6slite

    p6使用教程_p6slite文章目录简介1、Maven依赖2、 切换driverClass(必须)3、增加配置文件4、自定义配置类简介p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。展示效果如下:SQL耗时【7毫秒】连接信息【jdbc:p6spy:mysql://192.168.1.108:3306/leimingtech_member?allowMultiQueries=t…

    2022年10月6日
    3
  • 矩阵的计算[通俗易懂]

    矩阵的计算[通俗易懂]矩阵运算规则:矩阵与常量运算矩阵与向量运算矩阵与矩阵运算矩阵之间相乘,必须满足B矩阵列数等于A矩阵行数才能运算,矩阵与矩阵之间的计算可以拆分为矩阵与多个向量的计算再将结果组合,返回的结果为一个列数等于B矩阵、行数等于A矩阵的矩阵。矩阵加减矩阵加减必须满足矩阵之间纬度相同,返回的结果也会是一个相同纬度的矩阵。矩阵的乘法规律:不满足交换律,A×B≠B×A满足结合律,A×(B×C)=(A×B)×C满足分配率,A×(B+C)=A×B.

    2022年4月19日
    62
  • linux 动态库加载_linux默认动态库加载路径

    linux 动态库加载_linux默认动态库加载路径    当我们在linux系统引用动态库时,经常会遇到一个问题,加入我们需要的动态库没有在系统的默认目录下,我们编译时使用-L指定了动态库的路径,编译时没有问题,但是执行调用该动态库的可执行文件时,却提示找不到动态库。下面我将以一个简单的例子来,复现这个问题和解决这个问题的办法。    假设我们使用tensorflow,把需要调用的libtensorflow.so和libtens…

    2022年9月28日
    3
  • pycharm使用技巧及常用快捷键_2010版excel快捷键大全

    pycharm使用技巧及常用快捷键_2010版excel快捷键大全本文对Pycharm常用快捷键进行了汇总整理,强烈建议你收藏学习,相信这些快捷键一定能提高你Python编程的效率。1.格式化代码【Ctrl+Alt+L】我们写代码的时候会发现…

    2022年8月28日
    4
  • EOS是什么_电脑EOS是什么

    EOS是什么_电脑EOS是什么EOS是什么

    2022年4月21日
    52
  • String.Split()函数

    String.Split()函数

    2021年11月13日
    52

发表回复

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

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