Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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控制器未将内容输出为真实JSON_Php_Json_Laravel_Eloquent_Laravel 5.7 - Fatal编程技术网

Php Laravel控制器未将内容输出为真实JSON

Php Laravel控制器未将内容输出为真实JSON,php,json,laravel,eloquent,laravel-5.7,Php,Json,Laravel,Eloquent,Laravel 5.7,我的Laravel应用程序上有以下控制器: class ProjectController extends Controller { ... public function index() { $projects = Project::where('is_completed', false) ->orderBy('created_at', 'desc') ->withCount(['tasks' =>

我的
Laravel
应用程序上有以下控制器:

class ProjectController extends Controller {
    ...
    public function index() {
        $projects = Project::where('is_completed', false)
            ->orderBy('created_at', 'desc')
            ->withCount(['tasks' => function ($query) {
                $query->where('is_completed', false);
            }])->get();
        return $projects->toJson(JSON_PRETTY_PRINT);
    }
    ...
}
由以下路线引用:

Route::get('projects', 'ProjectController@index');
我的问题是当我转到url时:

https://127.0.0.1/api/projects
然后我得到了预期的结果,但是内容类型不是
JSON
,正如您在下面看到的(它是
HTML
):

您知道如何将内容输出为real
JSON
content吗

谢谢

而不是:

$projects = Project::where('is_completed', false)
    ->orderBy('created_at', 'desc')
    ->withCount(['tasks' => function ($query) {
        $query->where('is_completed', false);
    }])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
你应使用:

return response()->json(Project::where('is_completed', false)
    ->orderBy('created_at', 'desc')
    ->withCount(['tasks' => function ($query) {
        $query->where('is_completed', false);
    }])->get());
请看

的示例,而不是:

$projects = Project::where('is_completed', false)
    ->orderBy('created_at', 'desc')
    ->withCount(['tasks' => function ($query) {
        $query->where('is_completed', false);
    }])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
你应使用:

return response()->json(Project::where('is_completed', false)
    ->orderBy('created_at', 'desc')
    ->withCount(['tasks' => function ($query) {
        $query->where('is_completed', false);
    }])->get());
请看一个例子