2

私は2つのエンティティEvent持っています.User

User私のエンティティの上部には、次のuseステートメントがあります。

use Gedmo\Mapping\Annotation as Gedmo;

そして、私はこれを持っています:

/** 
 * @var datetime $created
 *
 * @Gedmo\Timestampable(on="create")
 * @ORM\Column(type="datetime")
 */
private $created;

/** 
 * @var datetime $updated
 *
 * @ORM\Column(type="datetime")
 * @Gedmo\Timestampable(on="update")
 */
private $updated;

これは、私が に対して行っているのとまったく同じ方法ですEvent。奇妙なことに、実行しようとすると./app/console doc:mig:diff、次のエラーが発生します。

[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] プロパティ VNN\PressboxBundle\Entity\User::$created の注釈「@Gedmo\Timestampable」はインポートされませんでした。この注釈に「use」ステートメントを追加するのを忘れたのではないでしょうか?

useいいえ、ステートメントを追加することを忘れていませんでした。Event少し前は問題なく機能していたのに、今は機能していないのは奇妙だと思いますUser。このエラーが発生するのはなぜですか?

4

2 に答える 2

1

私はこの奇妙な行動に遭遇しました、そして私はこれを正確に引き起こしたものを覚えていません。

app / config /config.ymlにdoctrine.extensionsconfigをどのようにロードしますか?

これが私のうまく機能する構成です:

app/config/config.yml

imports:
    - { resource: parameters.ini }
    - { resource: security.yml }
    - { resource: doctrine-extensions.yml }

app/config/doctrine-extensions.yml

services:
    gedmo.listener.timestampable:
        class: Gedmo\Timestampable\TimestampableListener
        tags:
            # I have 2 DBAL connections using Timestampable
            - { name: doctrine.event_subscriber, connection: tm_vg }
            - { name: doctrine.event_subscriber, connection: tm_common }
        calls:
            - [ setAnnotationReader, [ '@annotation_reader' ] ]
于 2012-06-28T13:04:07.980 に答える
1

私はそれを解決するために同じ問題を抱えています

@Gedmo\Slug(fields={"projectName"})

@Gedmo\Mapping\Annotation\Slug(fields={"projectName"})

/** 
 * @Gedmo\Mapping\Annotation\Slug(fields={"projectName"})
 * @ORM\Column(name="slug", type="string", length=255, nullable=true, unique=true)
 */
private $slug;
于 2014-08-25T09:18:54.927 に答える