Confluence 에 심각한 보안 취약점이 발견되었으니 사용자분들은 업그레이드 하세요.!
 
1
0
-1

안녕하세요,
쿼리빌더를 쓰다가 궁금한 점이 생겨서 올려봅니다.

$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 = '';


이런식으로 줄까 생각도 해봤지만,
필드가 많은경우에는 코드가 너무 길어지고 손이 너무 많이 갈거 같아서...

이것을 한번에 적용시킬 좋은방법이 없을까요?

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      - 조회 조건에 해당하는 데이터가 없을 때, 빈 배열을 반환하는 것은 매주 정상적인 동작입니다.
      - 응답으로 받은 값이 빈 배열인지 검사하는 것은 클라이언트 쪽의 책임입니다.
      - Vue는 잘 모르는데, 매뉴얼을 참고하시어 v-if, v-show 와 같은 지시자를 이용하시면 될 듯 합니다.

      1. 조은걸

        감사합니다. 예외로 직접 작성해야 겠네요.

      CommentAdd your comment...