CI 묻고 답하기

제목 [초보] 데이터가 없을경우 어케 해야 해요?
글쓴이 헛발이 작성시각 2010/02/26 14:19:59
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 22469   RSS
모델에서 데이터를 불러 아래와 같이 리턴해 줍니다..
if ($query->num_rows() == 1) return $query->row();
return null;
그리고 콘트롤러를 통해 뷰에서 그 값을 보여 줄때..
form_prep($query->name);
이렇게 보여주고 있습니다.

근데 뷰에서 정해진 테이블 틀이 있고 데이터가 없어도 그 틀에 빈 란을 보여주려고 합니다.
데이터가 있을땐 잘 나오지만... 없는 필드 부분도 공백이  잘 나오지만...

모델에서 데이터가 없어 null을 리턴 했을때 문제가 되는데요...
이럴 경우에 뷰에서 전부
if(isset($query->s_price)) echo form_prep($query->s_price);
이렇게 해 줘야 하나요? 너무 많은데... 한번에 해결 할순 없나요?
 다음글 [초보]혹시 자주 쓰시는 PDF 라이브러리 있나요? (4)
 이전글 PHP 질문 드릴게요... (1)

댓글

변종원(웅파) / 2010/02/26 15:06:48 / 추천 0

return null 대신에

return array("a필드"=>"", "b필드"=>"");

어떨까요?

헛발이 / 2010/02/26 15:14:00 / 추천 0
그것도 좀 그럴듯 싶네요... 방법이 없나 보군요... 그냥 isset을 체크 하는 수 밖엔 없을듯 싶네요.. ㅡ.ㅡ;
jois / 2010/02/27 11:06:03 / 추천 0
 개인적으로 저렇게 멤버변수(?)가 없는 경우 발생하는 에러 때문에 오브젝트보단 배열을 사용합니다.

$query->row() 이거 대신 $query->row_array() 를 사용하시는 것은 어떠신가요?

헛발이 / 2010/02/27 12:43:03 / 추천 0

마찮가지에요...$query->row_array() 이렇게 해도 결국 뷰에서는
form_prep($query['name']);
이렇게 해야 하기 때문에.. 에라가 발생합니다..

음... 아마 저희 회사 문제일수 있죠..
저희 **맞은 서버 관리자 때문에 노틱스 까지 모두 에라를 출력합니다.
노틱스가 서버에 자꾸 축척되서 쓸때 없이 자리를 차지하고 노틱스 나오는것도 분명한 에라라고
정의 하기 때문에.. 변수 선언을 하지 않으면 모두 노틱스가 발생합니다.. ㅠ.ㅠ

불쌍하죠? ^^;

kirrie / 2010/03/02 10:08:43 / 추천 0
element 라는 CI 배열 관련 헬퍼가 있습니다.