db에서 얻어온 결과를 계층적(?)인 json으로 재구성해서 response를 보내고 싶습니다.
{id: 1,
title: 'hello',
user_attributes: {
id: 123,
nickname: nick
}
}
지금까지는 for문을 써서 새 어레이에 담고 어레이 안에 어레이에 푸시를 하고 등등
그런 좀 더러운 방법을 썼는데
코드가 깔끔하지 않고
자주 반복되다 보니 불편합니다..
php에서는 저런 것을 쉽게 하는 방법이 없는걸까요?
composer 패키지라던가.. 추천 방법이 있다면 알려주세요
감사합니다 !
음.. json_encode() 함수 옵션중 JSON_UNESCAPED_UNICODE, JSON_PRETTY_PRINT 을 사용 하시면 됩니다.
http://php.net/manual/en/function.json-encode.php
엇 제 설명이 부족했던 것 같습니다.
그냥 json을 내보내는 것이 아니라
$result = $query->result();
했을 때 이렇게 평면적인 object가 나옵니다.
{id: 1,
title: 'hello',
user_id: 123,
nickname: nick
}
그런데 이걸
{id: 1,
title: 'hello',
user_attributes: {
id: 123,
nickname: nick
}
}
이렇게 json 안에 json을 넣고 싶은건데요
복잡한 json객체를 다루는 더 좋은 방법이 없나해서요 ㅠ
Laravel Eloquent ORM 같은 걸 사용하셔서 relationship 을 설정해 놓으면 원하시는데로 데이터를 가져올 수 있습니다.
엘로퀀트를 코드이그나이터에 접목하는 방법은 아래 링크를 참고하세요.
https://bappa.info/2016/08/01/use-eloquent-orm-in-a-codeigniter-3-project/
모두 답변 감사합니다 :)
일단은 또 for문을 돌려서 적용을 했는데
쿼리 빌더에서 result(); 호출할때 class를 파라미터로 주면 커스터마이징할 수 있다는 공식문서 보고
그거 한번 해보려고 합니다
감사해요~
보이긴 깔끔한데 코드 연동이 잘 될진 모르겠네요.