Sonata Doctrine Phpcr Admin Bundle:更改节点的父节点
Sonata Doctrine Phpcr Admin Bundle: Change parent of node
我在 sonata admin 中更改文档的父级时遇到问题。
我的文档有 属性 这样的:
/**
* @PHPCRODM\Children(filter="teaserimage*", cascade="persist")
* @var Image[]
*/
protected $teaserImages;
....
/**
* @Validation\PhpcrImage(maxWidth="1500", maxHeight="844", minWidth="600", minHeight="338", minRatio="1.77", maxRatio="1.78", nullable=false)
*
* @return Image|null
*/
public function getTeaserImage()
{
return $this->getLocalizedImage($this->teaserImages, 'teaserimage');
}
/**
* @param Image $image
*/
public function setTeaserImage($image)
{
$this->teaserImages->add(
self::setupImage($image, $this->getLocalizedImageNodeName('teaserimage'), $this->getTeaserImage())
);
}
当我尝试更改任何文章文档的父级时,出现类似
的错误
The server returned a "500 Internal Server Error".
The Id is immutable (/cms/content/blog/blog-post-for-12th-october/teaserimage_de.jpg !== /cms/content/blog/blog-post-for-12th-october). Please use DocumentManager::move to move the document: blog post for 12th October (/cms/content/blog/blog-post-for-12th-october)
尽管出现此错误,但我的文档已与所有子文档一起移动到正确的位置。
这是我的文档的样子
https://gist.github.com/milosnovi/a83f400c8ff06b4de6dd96e1f149a8dd
检查您的 preUpdated、prePersists 方法。当更改是父更改时,您不应该在这些方法中刷新对象。
我在 sonata admin 中更改文档的父级时遇到问题。
我的文档有 属性 这样的:
/**
* @PHPCRODM\Children(filter="teaserimage*", cascade="persist")
* @var Image[]
*/
protected $teaserImages;
....
/**
* @Validation\PhpcrImage(maxWidth="1500", maxHeight="844", minWidth="600", minHeight="338", minRatio="1.77", maxRatio="1.78", nullable=false)
*
* @return Image|null
*/
public function getTeaserImage()
{
return $this->getLocalizedImage($this->teaserImages, 'teaserimage');
}
/**
* @param Image $image
*/
public function setTeaserImage($image)
{
$this->teaserImages->add(
self::setupImage($image, $this->getLocalizedImageNodeName('teaserimage'), $this->getTeaserImage())
);
}
当我尝试更改任何文章文档的父级时,出现类似
的错误The server returned a "500 Internal Server Error".
The Id is immutable (/cms/content/blog/blog-post-for-12th-october/teaserimage_de.jpg !== /cms/content/blog/blog-post-for-12th-october). Please use DocumentManager::move to move the document: blog post for 12th October (/cms/content/blog/blog-post-for-12th-october)
尽管出现此错误,但我的文档已与所有子文档一起移动到正确的位置。
这是我的文档的样子 https://gist.github.com/milosnovi/a83f400c8ff06b4de6dd96e1f149a8dd
检查您的 preUpdated、prePersists 方法。当更改是父更改时,您不应该在这些方法中刷新对象。