안녕하세요,쿼리빌더를 쓰다가 궁금한 점이 생겨서 올려봅니다.
$data = DB::connection('mysql')->select('SELECT data1 FROM table where idx = :idx', ['idx' => $idx]);
라는 방식으로 실행했을때,data1 자체가 테이블 상에서 값이 없어서 NULL 일떄 받은 결과는 $data = []; 빈값이 되고,필드 자체를 받아오지 않더라구요..
이것을 vue.js로 리턴해서 출력을 할때, 리턴 받은 값을 this.data 에 넣고 {{ data.data1 }} 를 불러왔을때, data1 이 undefined 라고 뜹니다.
if(empty($data)) $data[0]->data1 = '';
이런식으로 줄까 생각도 해봤지만,필드가 많은경우에는 코드가 너무 길어지고 손이 너무 많이 갈거 같아서...
이것을 한번에 적용시킬 좋은방법이 없을까요?
- 조회 조건에 해당하는 데이터가 없을 때, 빈 배열을 반환하는 것은 매주 정상적인 동작입니다.- 응답으로 받은 값이 빈 배열인지 검사하는 것은 클라이언트 쪽의 책임입니다. - Vue는 잘 모르는데, 매뉴얼을 참고하시어 v-if, v-show 와 같은 지시자를 이용하시면 될 듯 합니다.
감사합니다. 예외로 직접 작성해야 겠네요.
안녕하세요,
쿼리빌더를 쓰다가 궁금한 점이 생겨서 올려봅니다.
라는 방식으로 실행했을때,
data1 자체가 테이블 상에서 값이 없어서 NULL 일떄 받은 결과는 $data = []; 빈값이 되고,
필드 자체를 받아오지 않더라구요..
이것을 vue.js로 리턴해서 출력을 할때, 리턴 받은 값을 this.data 에 넣고 {{ data.data1 }} 를 불러왔을때, data1 이 undefined 라고 뜹니다.
이런식으로 줄까 생각도 해봤지만,
필드가 많은경우에는 코드가 너무 길어지고 손이 너무 많이 갈거 같아서...
이것을 한번에 적용시킬 좋은방법이 없을까요?