如何使用 Doctrine2 扩展来使用可版本化实体?

发布于 2024-11-04 04:39:24 字数 966 浏览 3 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

计㈡愣 2024-11-11 04:39:24

您的 $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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文