Larabel 4에서 웅변 모델을 JSON으로 반환
브라우저에 JSON으로 반환하려면 어떻게 해야 하나요?아래 두 가지 방법의 차이점은 무엇입니까?둘 다 효과가 있는 것 같아요.
#1:
return Response::json($user->toArray());
#2:
return $user->toJson();
실제 전송된 데이터는 동일하지만...
#1 송신Content-Type:application/json
브라우저에
#2 송신Content-Type:text/html
#1이 더 정확하지만 Javascript에 따라 달라집니다.JSON 콘텐츠의 올바른 유형은 무엇입니까?를 참조해 주세요.
단, 반품하는 것이 훨씬 간단합니다.자동으로 JSON으로 반환되고 Content-Type이 올바르게 설정됩니다.
return $model;
Response::json($someArray)
는 JSON 데이터를 반환하는 일반적인 방법입니다.
return $model->toJson()
는 모델을 JSON으로 반환하는 것에 한정되어 있습니다.이는 웅변 모델을 사용할 때 제가 선호하는 접근 방식입니다.
#1에서는 먼저 Array로 변환한 후 JSON으로 변환합니다.이것은 약간 장황한 것 같습니다.
그런 의미에서 발신자에게 JSON을 반환할 경우에는 2번으로 하겠습니다.
또, L4에서는, 어설런트 모델이 문자열에 캐스트 될 때마다, 자동적으로 JSON으로 변환되는 것에 주의해 주세요.따라서 매뉴얼에서 다음 예시와 같이 루트에서 직접 JSON 데이터를 반환할 수 있습니다.
Route::get('users', function()
{
return User::all();
});
상세한 것에 대하여는, http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json 를 참조해 주세요.
이것으로 5.5레벨의 문제가 해결되었습니다.
function allUsers()
{
$users = \App\User::all();
$usersJson = json_encode($users);
return $usersJson;
}
언급URL : https://stackoverflow.com/questions/15602129/returning-an-eloquent-model-as-json-in-laravel-4
'programing' 카테고리의 다른 글
jQuery 페이지 표시 Wordpress 위젯 후 돔 Css가 손실됨 (0) | 2023.04.05 |
---|---|
오류: 파일을 찾을 수 없습니다. 'index.js'가 디스크의 해당 이름과 일치하지 않습니다. '.node_modules/React/React' (0) | 2023.04.05 |
Type Script:형식에 인덱스 서명이 없습니다. (0) | 2023.03.31 |
Google reCaptcha 재설정이 작동하지 않습니다. (0) | 2023.03.31 |
2개의 인터페이스의 Marge (0) | 2023.03.31 |