一对多保存,编码器DataMapper



正在制作一个用户可以添加视频的网站。每个视频可以分成许多部分。它也可以有很多问题。Video与question类和section类都有一对多关系。

我得到了这样的部分和视频课程:

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

然后像这样保存:

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

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

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

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

:

$s = new Section();
$s->where_in('section', $array_with_sections_ids)->get();
$v->save(array($u, $s->all, $q));

您在数据库中使用不同的表。比如视频,问题和视频问题你可以用不同的问题ID存储视频ID

然后VideoExample看起来像:

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

插入该数据,首先插入视频并使用

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

对你的问题做同样的处理,你就得到了你的ID;)对其他表也是一样,这样就完成了。好运!

最新更新