4

我尝试StofDoctrineExtenstion对我的对象使用可时间戳的行为,但它不起作用。对象保存成功,但createdAt属性未保存。

这是我的配置:

#Doctrine ODM Configuration
doctrine_mongodb:
    connections:
        default:
            server: mongodb://localhost:27017
            options:
                connect: true
    default_database: rent
    document_managers:
        default:
            auto_mapping: true

#stof doctrine extension
stof_doctrine_extensions:
    mongodb:
        default:
            timestampable: true

和类(我也尝试对我的主要对象使用时间戳行为)

use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @MongoDB\MappedSuperclass
 */
abstract class BaseApartment
{

     /**
     * @Gedmo\Timestampable(on="create")
     * @MongoDB\Date
     */
    private $createdAt;
}

Symfony 2.0.12,我的deps文件:

[StofDoctrineExtensionsBundle]
    git=git://github.com/stof/StofDoctrineExtensionsBundle.git
    target=/bundles/Stof/DoctrineExtensionsBundle
    version=v1.0 (also tried version 1.1)

[gedmo-doctrine-extensions]
    git=git://github.com/l3pp4rd/DoctrineExtensions.git
    target=gedmo-doctrine-extensions

怎么了?有任何想法吗?

4

2 回答 2

1

我认为这是版本兼容性的问题。问题(也许不是问题,但至少一个问题)似乎是gedmo-doctrine-extensions Stof 的DoctrineExtensionsBundle的“主”分支彼此不兼容。

例如,我刚刚使用了这对版本(对于 Symfony 版本 2.0.15):

[gedmo-doctrine-extensions]
    git=git://github.com/l3pp4rd/DoctrineExtensions.git
    version=origin/doctrine2.1.x

[DoctrineExtensionsBundle]
    git=git://github.com/stof/StofDoctrineExtensionsBundle.git
    target=/bundles/Stof/DoctrineExtensionsBundle
    version=origin/1.0.x
于 2012-07-13T00:47:56.463 回答
0

尝试将deps文件中的版本更改为:

[Stof-DoctrineExtensionsBundle]
   git=https://github.com/stof/StofDoctrineExtensionsBundle.git
   target=/bundles/Stof/DoctrineExtensionsBundle
   version=origin/1.0.x

在我做出改变之前,我遇到了同样的问题,然后是bin/vendors install --reinstall,它开始为我工作。

于 2012-05-15T16:05:14.743 回答