2013-03-13 83 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%確定我明白你的意思,但是是的,yu可以同時保存多個關係。

像這樣:

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

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

謝謝。那正是我所期待的。不知道我在文檔中錯過了它。 – erfling 2013-03-17 23:37:41

0

您在數據庫中使用不同的表格。如視頻,問題與VideoQuestion您存儲的視頻ID與不同的問題的id

然後VideoExample會是什麼樣子:

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

插入這個數據,首先將視頻和

獲得其ID
$videoId = $this->db->insert_id() 

對你的問題做同樣的事情,你有你的ID;) 其他表相同,你就完成了。祝你好運!

+0

我已經有了設立的所有我的關係表,單節約的工作就好了。例如,我可以保存視頻和部分之間的關​​系。我需要做的是保存視頻和任意數量的部分之間的關​​系。有沒有一個快速的方法來做到這一點,或者我只需要遍歷$ _POST ['節']並每次保存一個關係?對不起,如果我的問題不清楚。 – erfling 2013-03-13 15:44:36