Laravel响应json无用数组


Laravel response json useless array

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

    $company = Company::select('name')
        ->inRandomOrder()
        ->limit(1)
        ->get();
    return response()->json([
        'company' => $company,
    ]);

当我调用我的函数时,我得到了这个:

{
    "company": [
        {
            "name": "Company Number 1"
        }
    ]
}

为什么我有一个数组后面的公司?"company": [有没有一种方法可以直接返回$company,而在之前没有对象(在我的例子中是命名的公司?(

谢谢!

->get()更改为->first(),以便返回第一个模型,而不是一组模型。

$company = Company::select('name')
    ->inRandomOrder()
    ->first();
return response()->json([
    'company' => $company,
]);

CCD_ 5也可能是不必要的,因为第一个已经这样做了。

->get()返回Collection,而first()返回第一个对象或集合。

因此,不再需要limit(1(,Laravel的默认操作是作为JSON进行响应。

因此,您可以简单地进行

return [
  'company' => Company::select('name')->inRandomOrder()->first()
];