3

yml ファイルからマップされた「マガジン」というエンティティがあります。

Acme\DemoBundle\Entity\Magazine:
  type: entity
  table: magazine
  id:
    id:
      type: integer
      generator: { strategy: AUTO }

  fields:
    edition:
        type: string
        length: 255
        nullable: false
    title:
        type: text
        nullable: false
    cover:
        type: string
        length: 255
        nullable: false
    file:
        mapping: magazine_cover
        filename_property: cover

app/config/config.yml で必要な構成を行いました。

knp_gaufrette:
  stream_wrapper: ~

vich_uploader:
  db_driver: orm
  mappings:
    magazine_cover:
      uri_prefix:         /upload/magazine/cover
      upload_destination: %kernel.root_dir%/../web/upload/magazine/cover
      delete_on_remove:   true

エンティティ ファイル:

use Doctrine\ORM\Mapping as ORM;

use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Validator\Constraints as Assert;
use Vich\UploaderBundle\Mapping\PropertyMapping as Vich;

私はこのように仕事をしていません。フィールド「ファイル」が「マガジン」テーブルに作成されますが、これは発生するはずがありません。注釈を使用して構成する方法を説明する記事をいくつか見つけましたが、yml は何も見つかりませんでした。

4

1 に答える 1

2

ドキュメントを注意深く読むと、アップロード関連の構成がドクトリンのエンティティ宣言と混在していないことに気付くでしょう。

src/Acme/DemoBundle/Resource/config/vich_uploader/Magazine.yml次の内容のファイルを作成する必要があります。

Acme\DemoBundle\Entity\Magazine:
    file:
        mapping: magazine_cover
        filename_property: cover

私のサンドボックス アプリケーションで実際のコード サンプルを見つけることができます。

于 2014-07-09T17:58:53.680 に答える