Php Laravel格式化JSON输出
有没有一种简单的方法可以在JSON响应中返回更多具有不同属性名称的对象 例如,我有一个Php Laravel格式化JSON输出,php,json,laravel,laravel-5,eloquent,Php,Json,Laravel,Laravel 5,Eloquent,有没有一种简单的方法可以在JSON响应中返回更多具有不同属性名称的对象 例如,我有一个User模型,它具有属性name、password、xy,如果我有returnuser::all()我将返回所有用户。但是如果我想返回一个自定义对象列表,其中我将返回JSON格式,如: { 'username' : ... 'pass': ... 'xyz' : ... 'from_related_model' : ... } 所以,我将以不同于DB的方式返回字段名称,并将相关
User
模型,它具有属性name、password、xy
,如果我有returnuser::all()代码>我将返回所有用户。但是如果我想返回一个自定义对象列表,其中我将返回JSON格式,如:
{
'username' : ...
'pass': ...
'xyz' : ...
'from_related_model' : ...
}
所以,我将以不同于DB的方式返回字段名称,并将相关模型中的属性附加到每个返回的对象
我不想使用变种,因为我只想在一个控制器中像那样返回。我知道我可以使用foreach遍历对象,并通过赋值和返回合并对象来创建新对象。但是有更简单的方法吗?您需要生成要手动返回的对象列表
示例:如果要为从数据库中提取的每个用户返回自定义对象,可以在控制器中执行以下操作:
$result = [];
foreach (User::all() as $user) {
$result[] = [
'username' => $user->username,
'full_name' => $user->first_name . ' ' . $user->last_name,
'xyz' => 5,
];
}
return $result;
每次从controller方法返回数组或集合时,它都会自动转换为JSON。您需要生成要手动返回的对象列表
示例:如果要为从数据库中提取的每个用户返回自定义对象,可以在控制器中执行以下操作:
$result = [];
foreach (User::all() as $user) {
$result[] = [
'username' => $user->username,
'full_name' => $user->first_name . ' ' . $user->last_name,
'xyz' => 5,
];
}
return $result;
每次从控制器方法返回数组或集合时,它都会自动转换为JSON。Yes。您是否可以添加一个示例,说明如何使用foreach进行此操作?是的。您是否可以添加一个示例,说明如何使用foreach进行此操作?