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