Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Json 如何将laravel返回的数据格式化为特定格式_Json_Laravel 5 - Fatal编程技术网

Json 如何将laravel返回的数据格式化为特定格式

Json 如何将laravel返回的数据格式化为特定格式,json,laravel-5,Json,Laravel 5,前面的方法返回以下JSON格式 public function autoComplete(Request $request) { $keywords = $request->keywords; $phones = []; $results = Phone::where('number', 'LIKE', '%' . $keywords . '%')->get(); if ($results) { foreach ($results A

前面的方法返回以下JSON格式

public function autoComplete(Request $request) {
    $keywords = $request->keywords;
    $phones = [];
    $results = Phone::where('number', 'LIKE', '%' . $keywords . '%')->get();

    if ($results) {
        foreach ($results AS $phone) {
            $phones[] = [
                'id' => $phone->id,
                'text' => $phone->number,
            ];
        }
    }
    return json_encode($phones);
}
但我想要这样

[["01111111111"],["01222222222"],["03333333333"],["04444444444"]]
{"suggestions":["01111111111", "01222222222", "03333333333", "04444444444"]} 
我试着这样做

[["01111111111"],["01222222222"],["03333333333"],["04444444444"]]
{"suggestions":["01111111111", "01222222222", "03333333333", "04444444444"]} 

要返回该特定格式,可以使用

因此,我将给出这个简短的解决方案,这里我们将通过
映射函数更改您的
foreach

因此,您的
自动完成
功能如下:

return json_encode('suggestions:', $phones);

我们返回
201 http code
以证明请求已成功创建。

如果此方法位于控制器中,只需返回一个数组,即:

public function autoComplete(Request $request) {
    $keywords = $request->keywords;

    $results = Phone::where('number', 'LIKE', '%' . $keywords . '%')->get();

    if ($results) {
        $phones =  $results->map(function($phone) {
            return [
                'id' => $phone->id,
                'text' => $phone->number,
            ];
        });

    }

    return response()->json(['suggestions' => $phones], 201);
}
Laravel将以JSON的形式返回它