2017-01-19 2 views
0

내가 몇 가지 문제가 ID 문자열의 값을 설정하지만, 여기에 문제 내 코드선택 2 - 나는 <code>id</code> 정수의 값을 보낼 <strong>선택 2</strong>으로

컨트롤러

$user = User::select('user_reg_no as id', 'user_name as text')->get()->toArray(); 
return response()->json($user); 
이있다하는 방법

JS

function get_user() { 
    res = $.ajax({ 
     type: 'get', 
     dataType: 'json', 
     url: SITE_URL, 
     async: false 
    }); 
    return res.responseJSON; 
} 

var data_user = get_user(); 

$('#user').select2({ 
    data: data_user 
}); 

이고 id0000345 이지만 select2이 될 때 이것을 처리하는 방법은 무엇입니까?

+0

컨트롤러에서 샘플 json 응답을 게시 할 수 있습니까? –

+0

'{{ "id": "", "text": "}}, {"id ": 256,"text ":"Darth Vader "}, {"id ": 289,"text " }]' 실제로 코드는 00256 및 00289 –

+0

테이블을 확인할 수 있습니까? 나는 테이블 자체에서 00256 대신 256으로 저장된다고 생각합니다. –

답변

1

JSON 응답의 id은 정수이므로 앞의 0은 제거됩니다.

옵션 같은 Model$cast 배열을 사용

옵션 2

캐스트 직접 속성을 1

수동 JSON 응답을 구축 한 다음 컨트롤러에서 응답을 보낼

protected $casts = [ 
    'id' => 'string', 
]; 
+0

JSON 데이터가 문자열로 전송되므로 옵션 1과 2 모두 작동하지 않습니다. 응답에'application/json'이 있으면 시스템은이를 분석하여 정수로 변환합니다. –

+0

감사합니다. 당신은 제 영웅입니다. –