2011-04-27 29 views
3

我正在嘗試使用Doctrine2Extensions的Versionable擴展名,但我無法實現它。如何使用Doctrine2擴展使用可版本化實體?

需要提及的是,我們需要「工具」版本可控接口(其中的方式爲空)您的實體

的要求是:

單標識符列(字符串或 整數)

實體必須(使用@version註釋)

實現版本可控看起來012進行版本喜歡:

namespace MyProject; 
use DoctrineExtensions\Versionable\Versionable; 

class BlogPost implements Versionable { 
    // blog post API 
} 

從文檔。

我不明白的是:

單標識符列(字符串或整數) 實體是版本控制(使用@version註釋)

什麼那些既要求意味着什麼?

這裏我實體:

<?php 
namespace Jo\Model; 
use DoctrineExtensions\Versionable\Versionable; 
/** 
* @Entity 
*/ 
class Comment implements Versionable 
{ 
    /** 
    * @Id 
    * @Column(type="integer") 
    * @GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    * @Column(type="string", length=255) 
    */ 
    protected $body; 

什麼缺失,使版本的作品?

回答

3

您的$ id屬性提供了一個標識符。

從我的東西閱讀,你還需要一個$版本(或類似)的財產,它可以是整數或日期時間,並且必須與@Version

這(舊)來annoted blog post可以幫助給你一些更多的見解(但其中一些可能會過時)

+0

非常感謝你,我雖然認爲@Entity需要@Version – JohnT 2011-04-27 21:49:54

+0

鏈接已死,請參閱http://www.doctrine-project.org /blog/doctrine2-behaviours-nutshell.html#versionable – worenga 2012-03-23 18:54:22

+0

已更新鏈接的答案。 – timdev 2012-03-23 19:39:44