在一对多关系上进行版本控制

时间:2011-08-02 11:18:37

标签: symfony1 doctrine versioning one-to-many

我对Doctrine一对多关系中的symfony版本化功能有一点问题。 我有一对多的关系,我想让它变得可版本化。这是我的架构:

Article:
actAs:
  Versionable:
    versionColumn: version
    className: %CLASS%Version
    auditLog: true
columns:
  title: string(255)
  body: clob

Comment:
  columns:
    body: string(255)
  Article_ID:
    type: integer
    notnull: true
  relations:
    Article:
      onDelete: CASCADE
      foreignAlias: Comments

好吧,现在文章是可版本化的并且将继续版本控制,但我也想获得针对特定版本的文章的评论。

例如:

$article= new Article();
$article->title = 'Test blog post';
$article->body = 'test';
//version 1
$article->save();

$article->title = 'ver 2';
//version 2
$article->save();

$comment = new Comment();
$comment->body = 'comment1';
$article->Comments[0] = $comment;
$article->save();

$article->title = 'ver  3';
//version 3
$article->save();

现在我有3个版本的文章,但只有第2版的文章有'comment1',我想只收到第2篇文章的评论。 通过这个模式,它将返回所有版本的文章的所有评论,这是合理的,因为它正在寻找相关的文章ID而不是article_version id。

现在我不知道它是如何运作的。

任何帮助将不胜感激。

感谢。

0 个答案:

没有答案