Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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/14.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响应数组_Php_Json_Laravel_Laravel 5.3 - Fatal编程技术网

Php Laravel响应数组

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": [

我正在使用Laravel开发一个API,我的json响应有问题,例如我有一个ina函数:

    $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