如何使用 Doctrine2 扩展来使用可版本化实体?
我正在尝试使用 Doctrine2Extensions 的 版本化 扩展,但我无法来实施它。
提到我们需要“实现”Versionable 接口(顺便说一下,它是空的)
您的实体的要求是:
单个标识符列(字符串或 整数)
实体必须进行版本控制 (使用@version注释)
实现版本化会看起来 像:
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;
要使版本正常工作,缺少什么?
I'm trying to use Versionable extension from Doctrine2Extensions but I couldn't a way to implement it.
It is mentioned that we need to 'implements' Versionable interface (which is empty by the way)
Requirements of your entities are:
Single Identifier Column (String or
Integer)Entity has to be versioned
(using @version annotation)Implementing Versionable would look
like:
namespace MyProject;
use DoctrineExtensions\Versionable\Versionable;
class BlogPost implements Versionable {
// blog post API
}
From the documentation.
What I don't understand is :
Single Identifier Column (String or Integer)
Entity has to be versioned (using @version annotation)
What those both requirements means?
Here my entity:
<?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;
What are missing to make version works?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 $id 属性提供单个标识符。
根据我的阅读,您还需要一个 $version (或类似的)属性,它可以是整数或日期时间,并且必须用 @Version
这个(旧)博客文章 可能会帮助您获得更多见解(但其中一些可能已经过时)
Your $id property provides a single identifier.
From my reading of things, you'll also need a $version (or similar) property, which could be an integer or datetime, and it must be annoted with @Version
This (old) blog post may help give you some more insight (but some of it may be out of date)