编程语言
首页 > 编程语言> > php-如何使用带有Doctrine2扩展的Versionable实体?

php-如何使用带有Doctrine2扩展的Versionable实体?

作者:互联网

我正在尝试使用Doctrine2Extensions的Versionable扩展名,但我无法实现它.

提到我们需要“实现” Versionable接口(顺便说一句是空的)

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 
}

从文档中.

我不明白的是:

单个标识符列(字符串或整数)
实体必须进行版本控制(使用@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;

缺少什么才能使版本正常工作?

解决方法:

您的$id属性提供一个标识符.

根据我的了解,您还需要一个$version(或类似属性)属性,该属性可以是整数或日期时间,并且必须带有@Version注释.

这个(旧的)blog post可能会帮助您提供更多的见解(但其中一些可能已过时)

标签:doctrine-orm,version,php
来源: https://codeday.me/bug/20191208/2091732.html