active record 관련해서 질문 드립니다.
안녕하세요. 이렇게 또 찾아뵙네요.
바로 본론으로 들어가겠습니다.
active record로 mysql에 id 값을 찾으면 값이 나오는게 정상입니다.
잘 나옵니다.
근데 이게 이상하게 조건절에 빈값이 들어가는데도 값을 조회해 나오는 겁니다.
소스코드 설명 들어가겠습니다.
== 소스코드 설명 ==
controller 생성자 이구요.
요놈이 메인 View를 뿌려주는 controller 입니다.
session이 관련있을지도 모른다는 생각에 부가 설명 넣겠습니다.
보시다 싶이 session id 값을 받는데요.
로그인 성공 시 session 에 id 값과 관리자인지, 일반인지 구분해서 배열에 담아 세션에 저장시키구요.
로그인 실패 시 그냥 손님으로 배열에 담아 session에 저장 시킵니다.
물론 id값을 저장하는 코드는 없구요.
session에 저장되있다면 가져오겠죠.
처음 메인화면을 띄운다면 세션값을 불러와도 빈값이 들어갈거라고 예상했구요.
(브라우져 끄면 세션 꺼놓는 설정 해뒀습니다.)
session id 값을 model에 넘긴 뒤 id값으로 쿼리는 하는데요.
여기서 자꾸 문제가 되는게

이게 모델 생성자이고,
얘가 id 값을 받아서 쿼리를 해주는 녀석인데,
user['id']; 값도 찍어보니 정확하게 값이 들어가 있지 않습니다. 예상 대로요.
근데 이놈이 db 칼럼에 첫번째 값을 자꾸 찍어옵니다.
어찌해야 될까요? 한 수 부탁드립니다.
다른 쿼리를 가져오나 싶어서 active record 주석 처리를 하니 역시 오류가 나구요.
분명히 저놈이 db 값을 가져오는건데,
where 절에 빈칸이 들어갔는데, 왜 값을 찍어올까요.
컨트롤러에서 var_dump($userID); 찍어보세요.
그리고 컨트롤러에서 모델로 값을 넘겼으면 그 값을 계속 사용하셔야지 모델에서 세션값을 가지고 분기를 하는 이유는 왜일까요?
그럴거면 모델에 값을 넘기지 않고 세션 값 가져다 쓰면 되는데요? ^^