Php Laravel响应数组
我正在使用Laravel开发一个API,我的json响应有问题,例如我有一个ina函数:Php Laravel响应数组,php,json,laravel,laravel-5.3,Php,Json,Laravel,Laravel 5.3,我正在使用Laravel开发一个API,我的json响应有问题,例如我有一个ina函数: $company = Company::select('name') ->inRandomOrder() ->limit(1) ->get(); return response()->json([ 'company' => $company, ]); { "company": [
$company = Company::select('name')
->inRandomOrder()
->limit(1)
->get();
return response()->json([
'company' => $company,
]);
{
"company": [
{
"name": "Company Number 1"
}
]
}
当我调用我的函数时,我得到:
$company = Company::select('name')
->inRandomOrder()
->limit(1)
->get();
return response()->json([
'company' => $company,
]);
{
"company": [
{
"name": "Company Number 1"
}
]
}
为什么我有一个阵列后的公司“company”:[
有没有一种方法可以直接返回$company
,而之前没有对象(在我的示例中是命名的company?)
谢谢!将您的->get()
更改为->first()
,这样它将返回第一个模型,而不是一组模型
$company = Company::select('name')
->inRandomOrder()
->first();
return response()->json([
'company' => $company,
]);
另外,->limit(1)
可能是不必要的,因为first已经这样做了。->get()
返回,而first()
返回第一个对象或集合
因此,不再需要限制(1),Laravel的默认操作是作为JSON响应
因此,您可以简单地
return [
'company' => Company::select('name')->inRandomOrder()->first()
];
尝试
first
方法而不是get
Hum,好主意:p