你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
注册
登录
Laravel教程
laravel5 怎么获取数组形式的数据
没有找到相关结果
已邀请:
与内容相关的链接
提交
1 个回复
xiaoluyouyue
赞同来自:
将模型数据转成数组
当构建 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 时隐藏属性
有时您可能想要限制能出现在数组或 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的设定
要回复问题请先
登录
或
注册
发起人
zdy
相关问题
关于laravel5文件上传的问题
Laravel5.0 是还没有定案么,还是说现在就已经这样了,感觉文件复杂了,写起来也变得麻烦了……
$GLOBALS['HTTP_RAW_POST_DATA']用laravel如何获取
谁有laravel5的视频教程?
利用laravel administrator如何导入excel数据?
求解贴,大家看过来,表单里多行数组形式的数据,后台该如何获取
laravel的数据库操作函数count在大数据中无效,跪求大神解答,急
redis laravel5 predis
没经过入口index.php的怎么调用数据库查数据
求助 关于数据库插入数据
windows运行laravel5.1,当改变系统默认路由访问的方法名时,会报错,如下图:
问题状态
最新活动:
2015-12-25 15:47
浏览:
34224
关注:
2
人
1 个回复
xiaoluyouyue
赞同来自:
当构建 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 时隐藏属性
有时您可能想要限制能出现在数组或 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的设定