Как работать с версионными сущностями с расширениями Doctrine2? - PullRequest
3 голосов
/ 27 апреля 2011

Я пытаюсь использовать расширение Versionable из Doctrine2Extensions, но я не смог найти способ его реализовать.

Упоминается, что нам нужно «реализовать» интерфейс Versionable (которыйкстати, пусто)

Требования ваших сущностей:

Столбец с одним идентификатором (строка или целое число)

Для сущности необходимо создать версию (используя @versionаннотация)

Реализация Versionable будет выглядеть так:

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;

Чего не хватает, чтобы заставить работать версию?

1 Ответ

3 голосов
/ 27 апреля 2011

Ваше свойство $ id предоставляет один идентификатор.

Из моего прочтения вам также понадобится свойство $ version (или аналогичное), которое может быть целым числом или датой-временем, и оно должно бытьотмечены @ Version

Это (старое) сообщение в блоге может помочь вам лучше понять (но некоторые из них могут быть устаревшими)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...