一对多保存,codeigniter DataMapper

时间:2013-03-13 00:22:01

标签: codeigniter codeigniter-2 codeigniter-datamapper

在用户可以添加视频的网站上工作。每个视频可以分为多个部分。它也可能有很多问题。视频与问题和部分类具有一对多的关系。

我正在获得这样的部分和视频类:

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

然后像这样保存:

    $v->save($u, $s, $q);

其中$ v是视频对象,$ u是用户对象,$ q是问题对象。

我想允许用户POST多个问题和部分。如何保存这些关系。 $ s和$ q应该是对象数组吗?

2 个答案:

答案 0 :(得分:1)

我并非100%确定我理解你的意思,但是你可以同时保存多个关系。

像这样:

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

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

答案 1 :(得分:0)

您在数据库中使用不同的表。与视频,问题和视频问题类似,您可以使用不同的问题ID

存储视频ID

然后VideoExample看起来像:

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

要插入此数据,请先插入视频并使用

获取其ID
$videoId = $this->db->insert_id()

对你的问题做同样的事情并且你有你的ID;) 对于其他表格也一样,你就完成了。祝你好运!