2

画像をアップロードできるように、DoctrinePHPCR と MediaBundle を Symfony にインストールしました。

主な例http://symfony.com/doc/master/cmf/book/database_layer.html は、デフォルト コントローラに「ドキュメント」を保存する方法のみを説明しています。精巧なフォームが添付された Doctrine エンティティをすでにセットアップしていますが、Docrine エンティティ内で MediaBundle から PHPCR に ImageInterface オブジェクトを永続化するにはどうすればよいですか?

ゼロから接続を作成することもできますが、それではすべての接続の詳細を含む YAML 構成ファイルをセットアップするという目的が無効になります。

これは失敗します。Symfony の「get」にアクセスできないようです $this->get('doctrine_phpcr')->getManager();

これが私のエンティティの外観です。

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Cmf\Bundle\MediaBundle\ImageInterface as ImageInterface;

/**
 * Cookie
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="AppBundle\Entity\CookieRepository")
 */
class Cookie
{

    /**
    * @var integer
    *
    * @ORM\Column(name="id", type="integer")
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $id;

    /**
    * @var string
    *
    * @ORM\Column(name="image_url", type="string", length=2047)
    */
    private $imageUrl;

    /**
     * Set imageUrl
     *
     * @param ImageInterface $imageUrl
     * @return Cookie
     */
    public function setImageUrl( $imageUrl)
    {
        $this->get('doctrine_phpcr')->getManager();
        // The previous line will fail.
        $this->imageUrl = $imageUrl;

        return $this;
    }

    /**
     * Get imageUrl
     *
     * @return ImageInterface
     */
    public function getImageUrl()
    {
        return $this->imageUrl;
    }
}
4

0 に答える 0