操作输出数据模型以构建自定义JSON的最佳方法是什么?

时间:2017-05-09 20:55:04

标签: laravel laravel-5 laravel-5.4

我有一些嵌套模型的嵌套模型。

操作输出数据模型以构建自定义JSON的最佳方法?

现在迭代每个模型,将每个模型添加到分离的数组以及按键加入后都不舒服。

1 个答案:

答案 0 :(得分:0)

开箱即用,您可以在模型类中添加protected $hiddenprotected $visible数组作为属性,这些属性将自动隐藏或仅在JSON响应中显示某些列。

https://laravel.com/docs/5.4/eloquent-serialization#hiding-attributes-from-json

此外,在将模型转换为JSON时,可以使用mutators修改某些属性。

https://laravel.com/docs/5.4/eloquent-mutators#introduction

在将模型转换为JSON时,您还可以将数据库中没有的其他属性添加到JSON响应中。

https://laravel.com/docs/5.4/eloquent-serialization#appending-values-to-json

实施例

class User extends Model {
    protected $appends = ['is_admin'];

    public function getIsAdminAttribute()
    {
        return $this->attributes['admin'] == 'yes';
    }
}