TIP게시판

제목 tank_auth에서 user_profiles를 사용하자. - 1
글쓴이 milosz 작성시각 2011/01/08 17:51:46
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15812   RSS
 tank_auth에서 스키마 파일을 보면 user_profiles는 있는데 아직은 사용되고 있지 않습니다.

업데이트되어 쉽게 사용할 수 있게 된다면 크게 의미가 없어지겠습니다만; 그때까지 기다리기엔

급하신 분들을 위해 간략하게나마 제가 사용하는 걸 적어보려 합니다.



일단 스키마에 자신이 필요한 필드를 더 작성해줍니다. 여러개 작성하셔도 무관..

근데 NOT NULL인데 기본값 없는 녀석은 테스트를 안해봤군요.. -_;
CREATE TABLE IF NOT EXISTS `user_profiles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `country` varchar(20) COLLATE utf8_bin DEFAULT NULL,
  `website` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `type` enum('n','p','t','a') COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;

전 타입이란 친구를 만들어 주었어요.

이녀석을 쉽게 불러오기 위해서 일말의 고민 없이 아래의 친구들을 수정해줍니다.

/application/models/tank_auth/users.php 적당한 위치에 아래의 소스를...
	function get_user_profiles_by_id($user_id)
	{
		$this->db->where('id', $user_id);

		$query = $this->db->get($this->profile_table_name);
		if ($query->num_rows() == 1) return $query->row();
		return NULL;

	}
/application/libraries/tank_auth.php 적당한 위치에 아래의 소스를...
	function get_user_profiles()
	{
		$user_id = $this->ci->session->userdata('user_id');
		return $this->ci->users->get_user_profiles_by_id($user_id);
	}
이제 사용하실 컨트롤러에서...(tank_auth 라이브러리 로드 하셨겠죠?)
$profiles = $this->tank_auth->get_user_profiles();
echo $profiles->type; // print 'n' enum은 처음 쓴 녀석이 기본값이더라구요?

세션에 다 프로필을 넣으려고 하니 매뉴얼 보니 용량에 뭐가 있다고 하더라구요.

ci의 세션이 쿠키를 이용하는 거 맞죠? 메뉴얼이 그렇게 쓰여진 것 같은데 뭔가 애매하게 써져 있어서..

그래서 그냥 세션에 id를 기준으로 db에서 뽑아오게 했습니다. 그게 더 맞는 것 같기도 하고;;


제목에서 알 수 있듯.. 1입니다;; user_profile 생성이나 수정은 다음 편에서;;

다음 글에서는 user_profiles을 등록, 수정하는 부분을 추가 해보도록 합시다!

글에서 보듯 저 완전 초보입니다..ㅎㅎ 도움이 되련지는 잘 모르겠네요;;
 다음글 Mac의 CODA에서 CI Syntax 설치 하기!! (5)
 이전글 mssql 엑티브 레코드 _like_escape 버그 ... (3)

댓글

criuce / 2011/01/27 08:58:53 / 추천 0
 많은 도움 되었습니다. 다음편도 올려주세요.ㅋ