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

これはバージョンの互換性の問題だと思います。問題 (問題ではないかもしれませんが、少なくとも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 に答える