Sonata Admin Bundle と Sonata Media Bundle を使用しています。素晴らしいのですが、メディアの使用に関して問題があります。 https://sonata-project.org/bundles/media/2-2/doc/index.html
例 Post Document があります。Post には $image 変数があり、targetDocument は Media です。そして、新しい投稿を作成するときは、画像ファイルをアップロードする必要があり、投稿を保存する前に、まずアップロード画像ファイルを Media Entity に保存する必要があります。次に、Post の $image を保存したばかりの Media Entity にポイントします。
文書の投稿:
<?php
namespace Acme\Bundle\PostBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @MongoDB\Document(repositoryClass="Acme\Bundle\PostBundle\Repository\PostRepository")
*/
class Post
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\String
*/
protected $name;
/**
* @MongoDB\ReferenceOne(targetDocument="Application\Sonata\MediaBundle\Document\Media", nullable=true )
*/
protected $image;
メディア エンティティにアクセスし、アップロード ファイルを Post Document 機能で保存する方法はありますか。私はこれを読みましたが、それ以上は役に立ちません。
https://sonata-project.org/bundles/media/master/doc/reference/form.html