我在Symfony上安装了DoctrinePHPCR和MediaBundle,以便我可以上传图像。
主要示例http://symfony.com/doc/master/cmf/book/database_layer.html 仅描述如何在默认控制器中保存“文档”。我已经设置了一个附带精美表单的Doctrine实体,如何将MediaInter中的ImageInterface对象保存到Docrine实体中的PHPCR?
我可以从头开始建立连接,但这样做会破坏设置我的YAML配置文件的目的。
这将失败,我似乎无法访问Symfony的“获取”
$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;
}
}