강좌게시판

제목 ORM 라이브러리 DMZ 강좌 2부 : relationship (1)
글쓴이 케이든 작성시각 2009/12/14 12:55:03
댓글 : 0 추천 : 0 스크랩 : 0 조회수 : 15161   RSS

dmz강좌 2부를 시작합니다~

1부 one to one relationship에 이어

one to many 를 시작하겠습니다~


2. One to Many

one to many 는

user와 post 테이블의 관계라고 보시면 됩니다

user는 여러개의 post를 작성할수있고

post는 한명의 writer(user)만 존재합니다

model user.php
 

var $has_many = array('post');

model post.php
var $has_one = array('user');

dmz가 알수있도록 이렇게 user와 post의 관계를 정의하여줍니다.
$user = new User();

//kaden user를 부릅니다

$user->where('name','kaden');
$user->get();
//or
$user->get_by_name('kaden');


//새로운 post를 작성합니다
$post = new Post();
$post->subject = 'This is a Title.';
$post->type = 'notice';
$post->save();

//kaden과 방금 작성한 post를 연결(relate)합니다
$user->save($post);

//다른 post를 작성합니다.
$post->clear();
$post->subject = 'This is a Post Title.';
$post->type = 'gallery';

//post 저장과 동시에 kaden과 연결합니다
$post->save($user);

//kaden과 연결된 post들을 가져옵니다
$user = new User();
$user->get_by_name('kaden');
$user->post->get();

foreach($user->post->all as $p)
{
  echo $p->title;
}

//결과
// This is a Title.
// This is a Post Title.

//kaden과 연결된 type이 notice인 post를 가져옵니다
$user = new User();
$user->where_related_post('type','notice')->get();


many to many relationship도

이해하셧을거라 봅니다

참 쉽죠잉

 다음글 [링크] IBM dW에 소개된 CodeIgniter 강... (2)
 이전글 codeigniter 1.7.2 설치과정 (해외)

댓글

없음