App\Http\Controllers\ExportController::returnJSON PHP Method

returnJSON() private method

private returnJSON ( $request, $fileName ) : Illuminate\Http\JsonResponse
$request
$fileName
return Illuminate\Http\JsonResponse
    private function returnJSON($request, $fileName)
    {
        $output = fopen('php://output', 'w') or Utils::fatalError();
        header('Content-Type:application/json');
        header("Content-Disposition:attachment;filename={$fileName}.json");
        $manager = new Manager();
        $manager->setSerializer(new ArraySerializer());
        // eager load data, include archived but exclude deleted
        $account = Auth::user()->account;
        $account->load(['clients' => function ($query) {
            $query->withArchived()->with(['contacts', 'invoices' => function ($query) {
                $query->withArchived()->with(['invoice_items', 'payments' => function ($query) {
                    $query->withArchived();
                }]);
            }]);
        }]);
        $resource = new Item($account, new AccountTransformer());
        $data = $manager->parseIncludes('clients.invoices.payments')->createData($resource)->toArray();
        return response()->json($data);
    }