Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel格式化JSON输出_Php_Json_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php Laravel格式化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的方式返回字段名称,并将相关

有没有一种简单的方法可以在JSON响应中返回更多具有不同属性名称的对象

例如,我有一个
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进行此操作?