2013-03-13 3 views
0

사용자가 비디오를 추가 할 수있는 사이트에서 작업하기. 각 동영상은 여러 섹션으로 구성 될 수 있습니다. 그것은 또한 많은 질문을 가질 수 있습니다. 비디오는 질문 및 섹션 클래스와 일대 다의 관계가 있습니다.일대 다 저장, codeigniter DataMapper

이 같은 섹션 및 비디오 수업을 받고 있어요 :

$s = new Section(); 
    $s->where('section', $this->post->section)->get(); 

다음과 같이 저장 :

$v->save($u, $s, $q); 
$ (V)가 비디오 객체가

, $ u는 사용자 개체이며, $ q는 질문 객체입니다.

사용자가 여러 질문과 섹션을 POST 할 수있게하고 싶습니다. 이러한 관계를 어떻게 저장합니까? $ s와 $ q는 객체 배열이어야하나요?

답변

1

나는 당신이 의미하는 바를 이해하지만 100 % 확신 할 수는 없지만 예 유는 동시에 여러 관계를 저장할 수 있습니다. 나는 이미 설정된 내 모든 관계형 테이블을 가지고

$s = new Section(); 
$s->where_in('section', $array_with_sections_ids)->get(); 

$v->save(array($u, $s->all, $q)); 
+0

감사합니다. 그게 정확히 내가 찾고 있던 것이 었습니다. 문서에서 내가 어떻게 그것을 놓쳤는지 모르겠다. – erfling

0

데이터베이스에 다른 테이블을 사용합니다. 당신이 비디오 ID를 저장하는 비디오, 질문 및 VideoQuestion처럼 다른 질문 아이디의

다음 VideoExample는 같을 것이다,이 데이터를 삽입

| video_id | question_id | 
-------------------------- 
| 1  |  1  | 
| 1  |  5  | 
... 

먼저 비디오를 삽입하고

과의 ID를 얻을 수
$videoId = $this->db->insert_id() 

귀하의 질문에 귀하의 ID가 있습니다.) 다른 테이블과 동일하므로 모두 완료됩니다. 행운을 빕니다!

+0

, 그리고 하나는 잘 작업을 저장합니다

이 같이

. 예를 들어 비디오와 섹션 간의 관계를 저장할 수 있습니다. 내가해야 할 일은 비디오와 임의의 수의 섹션 사이의 관계를 저장하는 것입니다. 그것을 할 수있는 빠른 방법이 있습니까? 아니면 매번 $ _POST [ 'sections']를 반복하여 매번 관계를 저장해야합니까? 미안하지만 내 질문에 불분명하다면. – erfling