我有一些嵌套模型的嵌套模型。
操作输出数据模型以构建自定义JSON的最佳方法?
现在迭代每个模型,将每个模型添加到分离的数组以及按键加入后都不舒服。
答案 0 :(得分:0)
开箱即用,您可以在模型类中添加protected $hidden
或protected $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';
}
}