Laravel collection additional 이후에 array로 만드는 방법.

Updated on

Laravel collection additional 이후에 array로 만드는 방법.

    public function sendResponse($result, $message=null)
    {
        $response = [
            'success' => true,
            'message' => $message,
            'result_data' => $result,
        ];

        return response()->json($response, 200);
    }

이 방법이 맞는지는 모르겠다, 아무래도 검색해봐도 잘 되지 않는거보면,
아무래도 방법이 조금 잘못된것 같기도 하지만,
일단 작성해둔다.

나 같은 경우는 API Response 를 result_data로 빼주는데,
사실 이 자체가 잘못된것 같더라..

        $tt = (new BaseResource($data))
            ->additional([
                'data_roles' => $role
            ])->toResponse(null)->getData();

        return $this->sendResponse($tt);

일단 적어둠..
이렇게 하면, $tt가 Array 로 되어서, sendResponse 로 보냈을때, 잘 받아서 additional의 data_roles 데이터 까지 잘 받아서 출력 해준다.

그게 아니라면, additional 데이터가 출력되지 않거나 하는 문제가 발생한다.

어쨌든, API에서 데이터를 반환하는것은 그냥 바로 콜렉션을 뿌려주는게 맞는거 같다..
result_data에 뿌려주는 것은 옳지 않은거 같음..

그래도 혹시 모르니 방법만 적어놓는거..
https://stackoverflow.com/questions/52539291/laravel-how-to-convert-api-resource-to-array-recursively