Laravel 响应 json 无用数组
Laravel response json useless array
我正在使用 Laravel 处理 API,我的 json 响应有问题,例如我有一个函数:
$company = Company::select('name')
->inRandomOrder()
->limit(1)
->get();
return response()->json([
'company' => $company,
]);
有了这个,我在调用我的函数时得到:
{
"company": [
{
"name": "Company Number 1"
}
]
}
为什么我在 company 之后有一个数组? "company": [
有没有办法 return 直接 $company
之前没有对象(在我的示例中命名公司?)
谢谢!
将您的 ->get()
更改为 ->first()
,这样它 returns 第一个模型而不是模型集合。
$company = Company::select('name')
->inRandomOrder()
->first();
return response()->json([
'company' => $company,
]);
另外 ->limit(1)
可能是不必要的,因为首先已经这样做了。
->get()
returns Collection 而 first()
returns 第一个对象或集合。
因此不再需要limit(1),Laravel的默认动作是响应为JSON。
因此,您只需
return [
'company' => Company::select('name')->inRandomOrder()->first()
];
我正在使用 Laravel 处理 API,我的 json 响应有问题,例如我有一个函数:
$company = Company::select('name')
->inRandomOrder()
->limit(1)
->get();
return response()->json([
'company' => $company,
]);
有了这个,我在调用我的函数时得到:
{
"company": [
{
"name": "Company Number 1"
}
]
}
为什么我在 company 之后有一个数组? "company": [
有没有办法 return 直接 $company
之前没有对象(在我的示例中命名公司?)
谢谢!
将您的 ->get()
更改为 ->first()
,这样它 returns 第一个模型而不是模型集合。
$company = Company::select('name')
->inRandomOrder()
->first();
return response()->json([
'company' => $company,
]);
另外 ->limit(1)
可能是不必要的,因为首先已经这样做了。
->get()
returns Collection 而 first()
returns 第一个对象或集合。
因此不再需要limit(1),Laravel的默认动作是响应为JSON。
因此,您只需
return [
'company' => Company::select('name')->inRandomOrder()->first()
];